From fb0542b1bce8b0f3f912b262c3ae18e87b2dd46e Mon Sep 17 00:00:00 2001 From: Derek Bruening Date: Tue, 10 Dec 2024 20:25:20 -0500 Subject: [PATCH 01/13] i#7120: Do not add addend for rela jump slot relocation (#7121) Despite "rela" relocations having an explicit addend value and it being set to non-0 in a new Debian glibc, the addend is assumed to *not* be added to the symbol value when relocating on x86_64 and aarch64 (it does seem to be added on RISCV). This is not obvious and not well documented; we have to just behave like existing loaders behave from experimentation/examination. (Yet another reason to possibly invert the private loader and let the private copy of ld.so do all the loading and relocating: #5437). Tested on a machine where nearly every client test in our suite was crashing after a glibc update: now they pass. Unfortunately it's not simple to make automated tests for this: we don't have an existing framework for relocation testing and it would take non-trivial effort to construct that, beyond the scope of this fix. Fixes #7120 --- core/unix/loader.c | 12 +++++++----- core/unix/module_elf.c | 22 +++++++++++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/core/unix/loader.c b/core/unix/loader.c index f011287725a..66fae21d8c6 100644 --- a/core/unix/loader.c +++ b/core/unix/loader.c @@ -787,8 +787,9 @@ privload_os_finalize(privmod_t *privmod) GLRO_dl_tls_static_size_OFFS = last_large_load_offs; GLRO_dl_tls_static_align_OFFS = last_large_load_offs + sizeof(void *); LOG(GLOBAL, LOG_LOADER, 2, - "%s: for glibc 2.34+ workaround found offsets 0x%x 0x%x\n", __FUNCTION__, - GLRO_dl_tls_static_size_OFFS, GLRO_dl_tls_static_align_OFFS); + "%s: for glibc 2.34+ workaround found offsets 0x%x 0x%x for glro %p\n", + __FUNCTION__, GLRO_dl_tls_static_size_OFFS, GLRO_dl_tls_static_align_OFFS, + glro); } # endif if (GLRO_dl_tls_static_size_OFFS == 0) { @@ -827,7 +828,8 @@ privload_os_finalize(privmod_t *privmod) LOG(GLOBAL, LOG_LOADER, 2, "%s: glibc 2.34+ workaround succeeded\n", __FUNCTION__); } - LOG(GLOBAL, LOG_LOADER, 2, "%s: calling %s\n", __FUNCTION__, LIBC_EARLY_INIT_NAME); + LOG(GLOBAL, LOG_LOADER, 2, "%s: calling %s @%p\n", __FUNCTION__, LIBC_EARLY_INIT_NAME, + libc_early_init); (*libc_early_init)(true); #endif /* LINUX */ } @@ -1213,8 +1215,8 @@ privload_relocate_symbol(ELF_REL_TYPE *rel, os_privmod_data_t *opd, bool is_rela uint r_type; reg_t addend; - /* XXX: we assume ELF_REL_TYPE and ELF_RELA_TYPE only differ at the end, - * i.e. with or without r_addend. + /* ELF_REL_TYPE and ELF_RELA_TYPE differ in where the addend comes from: + * stored in the target location, or in rel->r_addend. */ if (is_rela) addend = ((ELF_RELA_TYPE *)rel)->r_addend; diff --git a/core/unix/module_elf.c b/core/unix/module_elf.c index 2a3ae3977cc..d896ae1badb 100644 --- a/core/unix/module_elf.c +++ b/core/unix/module_elf.c @@ -1,5 +1,5 @@ /* ******************************************************************************* - * Copyright (c) 2012-2022 Google, Inc. All rights reserved. + * Copyright (c) 2012-2024 Google, Inc. All rights reserved. * Copyright (c) 2011 Massachusetts Institute of Technology All rights reserved. * Copyright (c) 2008-2010 VMware, Inc. All rights reserved. * *******************************************************************************/ @@ -1466,8 +1466,8 @@ module_relocate_symbol(ELF_REL_TYPE *rel, os_privmod_data_t *pd, bool is_rela) const char *name; bool resolved; - /* XXX: we assume ELF_REL_TYPE and ELF_RELA_TYPE only differ at the end, - * i.e. with or without r_addend. + /* ELF_REL_TYPE and ELF_RELA_TYPE differ in where the addend comes from: + * stored in the target location, or in rel->r_addend. */ if (is_rela) addend = ((ELF_RELA_TYPE *)rel)->r_addend; @@ -1486,7 +1486,8 @@ module_relocate_symbol(ELF_REL_TYPE *rel, os_privmod_data_t *pd, bool is_rela) ".so has relocation inside PT_DYNAMIC section"); r_type = (uint)ELF_R_TYPE(rel->r_info); - LOG(GLOBAL, LOG_LOADER, 5, "%s: reloc @ %p type=%d\n", r_addr, r_type); + LOG(GLOBAL, LOG_LOADER, 5, "%s: reloc @ %p type=%d is_rela=%d addend=0x%zx\n", + __FUNCTION__, r_addr, r_type, is_rela, addend); /* handle the most common case, i.e. ELF_R_RELATIVE */ if (r_type == ELF_R_RELATIVE) { @@ -1581,7 +1582,18 @@ module_relocate_symbol(ELF_REL_TYPE *rel, os_privmod_data_t *pd, bool is_rela) #ifndef RISCV64 /* FIXME i#3544: Check whether ELF_R_DIRECT with !is_rela is OK */ case ELF_R_GLOB_DAT: #endif - case ELF_R_JUMP_SLOT: *r_addr = (reg_t)res + addend; break; + case ELF_R_JUMP_SLOT: + // Neither aarch64 nor x86_64 add the addend for these types, yet riscv does. + // This is not obvious and not well documented; we have to just behave like + // existing loaders behave from experimentation/examination. + // Yet another reason to possibly invert the private loader and let + // the private copy of ld.so do all the loading and relocating: i#5437. +#if defined(AARCH64) || defined(X86) + *r_addr = (reg_t)res; +#else + *r_addr = (reg_t)res + addend; +#endif + break; case ELF_R_DIRECT: *r_addr = (reg_t)res + (is_rela ? addend : *r_addr); break; case ELF_R_COPY: if (sym != NULL) From 64ac31b0fe25fdcbd4b5cd031a270d8620487480 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Wed, 11 Dec 2024 16:09:57 +0800 Subject: [PATCH 02/13] Add support for the GFNI extension. (#7119) Adds six new opcodes in SSE/VEX/EVEX forms with accompanying macros and tests. - gf2p8mulb - gf2p8affineqb - gf2p8affineinvqb - vgf2p8mulb - vgf2p8affineqb - vgf2p8affineinvqb --- core/ir/x86/decode_table.c | 60 +- core/ir/x86/instr_create_api.h | 24 + core/ir/x86/opcode_api.h | 8 + suite/tests/api/ir_x86_2args.h | 7 + suite/tests/api/ir_x86_3args.h | 40 + suite/tests/api/ir_x86_4args.h | 44 + .../api/ir_x86_4args_avx512_evex_mask_B.h | 24 + .../tests/api/ir_x86_5args_avx512_evex_mask.h | 73 + .../test_decenc/drdecode_decenc_x86.expect | 1900 ++++++++++------- .../test_decenc/drdecode_decenc_x86_64.expect | 1148 ++++++---- .../binutils/test_decenc/test_decenc_x86.asm | 336 ++- .../test_decenc/test_decenc_x86_64.asm | 333 ++- 12 files changed, 2478 insertions(+), 1519 deletions(-) diff --git a/core/ir/x86/decode_table.c b/core/ir/x86/decode_table.c index ecfa406c5b9..f4edad2003d 100644 --- a/core/ir/x86/decode_table.c +++ b/core/ir/x86/decode_table.c @@ -1669,6 +1669,14 @@ const instr_info_t * const op_instr[] = /* OP_vpopcntb */ &evex_Wb_extensions[275][0], /* OP_vpopcntw */ &evex_Wb_extensions[275][2], /* OP_vpshufbitqmb */ &evex_Wb_extensions[276][0], + + /* GFNI */ + /* OP_gf2p8mulb */ &e_vex_extensions[153][0], + /* OP_gf2p8affineqb */ &e_vex_extensions[154][0], + /* OP_gf2p8affineinvqb */ &e_vex_extensions[155][0], + /* OP_vgf2p8mulb */ &vex_W_extensions[114][0], + /* OP_vgf2p8affineqb */ &vex_W_extensions[115][1], + /* OP_vgf2p8affineinvqb */ &vex_W_extensions[116][1], }; @@ -6613,6 +6621,18 @@ const instr_info_t e_vex_extensions[][3] = { {INVALID, 0x385308, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {VEX_W_EXT, 0x385308, catUncategorized, "(vex_W ext 113)", xx, xx, xx, xx, xx, mrm|vex|reqp|ttfvm, x, 113}, {EVEX_Wb_EXT, 0x385308, catUncategorized, "(evex_Wb ext 270)", xx, xx, xx, xx, xx, mrm|reqp, x, 270}, + }, { /* e_vex ext 153 */ + {OP_gf2p8mulb, 0x6638cf08, catMath | catSIMD, "gf2p8mulb", Vdq, xx, Wdq, Vdq, xx, mrm|reqp, x, END_LIST}, + {VEX_W_EXT, 0x6638cf08, catUncategorized, "(vex_W ext 114)", xx, xx, xx, xx, xx, mrm|vex|reqp, x, 114}, + {EVEX_Wb_EXT, 0x6638cf08, catUncategorized, "(evex_Wb ext 277)", xx, xx, xx, xx, xx, mrm|reqp, x, 277}, + }, { /* e_vex ext 154 */ + {OP_gf2p8affineqb, 0x663ace08, catMath | catSIMD, "gf2p8affineqb", Vdq, xx, Wdq, Ib, Vdq, mrm|reqp, x, END_LIST}, + {VEX_W_EXT, 0x663ace08, catUncategorized, "(vex_W ext 115)", xx, xx, xx, xx, xx, mrm|vex|reqp, x, 115}, + {EVEX_Wb_EXT, 0x663ace08, catUncategorized, "(evex_Wb ext 278)", xx, xx, xx, xx, xx, mrm|reqp, x, 278} + }, { /* e_vex ext 155 */ + {OP_gf2p8affineinvqb, 0x663acf08, catMath | catSIMD, "gf2p8affineinvqb", Vdq, xx, Wdq, Ib, Vdq, mrm|reqp, x, END_LIST}, + {VEX_W_EXT, 0x663acf08, catUncategorized, "(vex_W ext 116)", xx, xx, xx, xx, xx, mrm|vex|reqp, x, 116}, + {EVEX_Wb_EXT, 0x663acf08, catUncategorized, "(evex_Wb ext 279)", xx, xx, xx, xx, xx, mrm|reqp, x, 279} }, }; @@ -7406,7 +7426,7 @@ const byte third_byte_38_index[256] = { 104,105,106,107, 0, 0, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, /* 9 */ 159,160,161,162, 0, 0, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, /* A */ 0, 0, 0, 0, 157,158, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, /* B */ - 0, 0, 0, 0, 155, 0,163,164, 154,165,131,132, 152,153, 0, 0, /* C */ + 0, 0, 0, 0, 155, 0,163,164, 154,165,131,132, 152,153, 0,176, /* C */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, 53, 54, 55, /* D */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* E */ 47, 48,100, 99, 0,101,102, 98, 172,173, 0, 0, 0, 0, 0, 0 /* F */ @@ -7610,6 +7630,8 @@ const instr_info_t third_byte_38[] = { /* AVX512_BITALG */ {EVEX_Wb_EXT, 0x66385418, catUncategorized, "(evex_Wb ext 275)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 275},/*174*/ {EVEX_Wb_EXT, 0x66388f18, catUncategorized, "(evex_Wb ext 276)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 276},/*175*/ + /* GFNI */ + {E_VEX_EXT, 0x6638cf08, catUncategorized, "(e_vex ext 153)", xx, xx, xx, xx, xx, mrm, x, 153}/*176*/ }; /* N.B.: every 0x3a instr so far has an immediate. If a version w/o an immed @@ -7629,7 +7651,7 @@ const byte third_byte_3a_index[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* B */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, /* C */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,90,91, /* C */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,24, /* D */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* E */ 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* F */ @@ -7738,6 +7760,9 @@ const instr_info_t third_byte_3a[] = { {EVEX_Wb_EXT, 0x663a2518, catUncategorized, "(evex_Wb ext 188)", xx, xx, xx, xx, xx, mrm, x, 188},/*88*/ /* SHA */ {OP_sha1rnds4, 0x3acc18, catUncategorized, "sha1rnds4", Vdq, xx, Wdq, Ib, Vdq, mrm|reqp, x, END_LIST},/*89*/ + /* GFNI */ + {E_VEX_EXT, 0x663ace08, catUncategorized, "(e_vex ext 154)", xx, xx, xx, xx, xx, mrm, x, 154},/*90*/ + {E_VEX_EXT, 0x663acf08, catUncategorized, "(e_vex ext 155)", xx, xx, xx, xx, xx, mrm, x, 155},/*91*/ }; /**************************************************************************** @@ -8091,6 +8116,15 @@ const instr_info_t vex_W_extensions[][2] = { }, { /* vex_W_ext 113 */ {OP_vpdpwssds, 0x66385308, catUncategorized, "vpdpwssds", Ve, xx, He, We, xx, mrm|vex|ttfvm|reqp, x, tevexwb[270][0]}, {INVALID, 0x663850, catUncategorized, "(bad)", xx,xx, xx, xx,xx, no,x,NA}, + }, { /* vex_W_ext 114 */ + {OP_vgf2p8mulb, 0x6638cf08, catMath | catSIMD, "vgf2p8mulb", Vx, xx, Hx, Wx, xx, mrm|vex|reqp, x, tevexwb[277][0]}, + {INVALID, 0x6638cf48, catUncategorized, "(bad)", xx,xx, xx, xx,xx, no,x,NA}, + }, { /* vex_W_ext 115 */ + {INVALID, 0x663ace08, catUncategorized, "(bad)", xx,xx, xx, xx,xx, no,x,NA}, + {OP_vgf2p8affineqb, 0x663ace48, catMath | catSIMD, "vgf2p8affineqb", Vx, xx, Hx, Wx, Ib, mrm|vex|reqp, x, tevexwb[278][2]}, + }, { /* vex_W_ext 116 */ + {INVALID, 0x663acf08, catUncategorized, "(bad)", xx,xx, xx, xx,xx, no,x,NA}, + {OP_vgf2p8affineinvqb, 0x663acf48, catMath | catSIMD, "vgf2p8affineinvqb", Vx, xx, Hx, Wx, Ib, mrm|vex|reqp, x, tevexwb[279][2]}, }, }; @@ -9535,6 +9569,21 @@ const instr_info_t evex_Wb_extensions[][4] = { {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 277 */ + {OP_vgf2p8mulb, 0x6638cf08, catMath | catSIMD, "vgf2p8mulb", Ve, xx, KEb, He, We, mrm|evex|ttfvm|reqp, x, END_LIST}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 278 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vgf2p8affineqb, 0x663ace48, catMath | catSIMD, "vgf2p8affineqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[257]}, + {OP_vgf2p8affineqb, 0x663ace58, catMath | catSIMD, "vgf2p8affineqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[258]}, + },{ /* evex_W_ext 279 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vgf2p8affineinvqb, 0x663acf48, catMath | catSIMD, "vgf2p8affineinvqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[259]}, + {OP_vgf2p8affineinvqb, 0x663acf58, catMath | catSIMD, "vgf2p8affineinvqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[260]}, }, }; @@ -10866,7 +10915,14 @@ const instr_info_t extra_operands[] = /* 254 */ {OP_CONTD, 0xcf0f0171, catUncategorized, "", ecx, edx, edx, xx, xx, mrm, x, END_LIST}, {OP_CONTD, 0xd70f0172, catUncategorized, "", ecx, edx, edx, xx, xx, mrm, x, END_LIST}, + /* 256 */ {OP_CONTD, 0xc00f0171, catUncategorized, "", ecx, edx, edx, xx, xx, mrm, x, END_LIST}, + {OP_CONTD, 0x663ace48, catMath | catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfvm|reqp, x, tevexwb[278][3]}, + /* 258 */ + {OP_CONTD, 0x663ace58, catMath | catSIMD, "", xx, xx, Mq, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, + {OP_CONTD, 0x663acf48, catMath | catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfvm|reqp, x, tevexwb[279][3]}, + /* 260 */ + {OP_CONTD, 0x663acf58, catMath | catSIMD, "", xx, xx, Mq, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, }; /* clang-format on */ diff --git a/core/ir/x86/instr_create_api.h b/core/ir/x86/instr_create_api.h index 78fae469c45..34058f3cb15 100644 --- a/core/ir/x86/instr_create_api.h +++ b/core/ir/x86/instr_create_api.h @@ -2455,6 +2455,9 @@ instr_create_1dst_2src((dc), OP_vpdpwssd, (d), (s1), (s2)) #define INSTR_CREATE_vpdpwssds(dc, d, s1, s2) \ instr_create_1dst_2src((dc), OP_vpdpwssds, (d), (s1), (s2)) +/* GFNI */ +#define INSTR_CREATE_vgf2p8mulb(dc, d, s1, s2) \ + instr_create_1dst_2src((dc), OP_vgf2p8mulb, (d), (s1), (s2)) /** @} */ /* end doxygen group */ /** @name 1 destination, 1 mask, and 1 non-immediate source */ @@ -3011,6 +3014,9 @@ instr_create_1dst_2src((dc), OP_sha256msg1, (d), (s), (d)) #define INSTR_CREATE_sha256msg2(dc, d, s) \ instr_create_1dst_2src((dc), OP_sha256msg2, (d), (s), (d)) +/* GFNI */ +#define INSTR_CREATE_gf2p8mulb(dc, d, s) \ + instr_create_1dst_2src((dc), OP_gf2p8mulb, (d), (s), (d)) /** @} */ /* end doxygen group */ /** @name 1 destination, 1 explicit register-or-immediate source */ @@ -3837,6 +3843,9 @@ /* AVX512 BITALG */ #define INSTR_CREATE_vpshufbitqmb_mask(dc, d, k, s1, s2) \ instr_create_1dst_3src((dc), OP_vpshufbitqmb, (d), (k), (s1), (s2)) +/* GFNI */ +#define INSTR_CREATE_vgf2p8mulb_mask(dc, d, k, s1, s2) \ + instr_create_1dst_3src((dc), OP_vgf2p8mulb, (d), (k), (s1), (s2)) /** @} */ /* end doxygen group */ /** @name 1 destination, 3 sources including one immediate */ @@ -3898,6 +3907,11 @@ instr_create_1dst_3src((dc), OP_vperm2f128, (d), (s1), (s2), (i)) #define INSTR_CREATE_vinsertf128(dc, d, s1, s2, i) \ instr_create_1dst_3src((dc), OP_vinsertf128, (d), (s1), (s2), (i)) +/* GFNI */ +#define INSTR_CREATE_vgf2p8affineqb(dc, d, s1, s2, i) \ + instr_create_1dst_3src((dc), OP_vgf2p8affineqb, (d), (s1), (s2), (i)) +#define INSTR_CREATE_vgf2p8affineinvqb(dc, d, s1, s2, i) \ + instr_create_1dst_3src((dc), OP_vgf2p8affineinvqb, (d), (s1), (s2), (i)) /** @} */ /* end doxygen group */ /* 1 destination, 3 sources: 1 implicit */ @@ -3973,6 +3987,11 @@ /* SHA */ #define INSTR_CREATE_sha1rnds4(dc, d, s, i) \ instr_create_1dst_3src((dc), OP_sha1rnds4, (d), (s), (i), (d)) +/* GFNI */ +#define INSTR_CREATE_gf2p8affineqb(dc, d, s, i) \ + instr_create_1dst_3src((dc), OP_gf2p8affineqb, (d), (s), (i), (d)) +#define INSTR_CREATE_gf2p8affineinvqb(dc, d, s, i) \ + instr_create_1dst_3src((dc), OP_gf2p8affineinvqb, (d), (s), (i), (d)) /** @} */ /* end doxygen group */ /** @name 1 explicit destination, 2 explicit sources, dest is implicit source */ @@ -4474,6 +4493,11 @@ instr_create_1dst_4src((dc), OP_vpternlogd, (d), (k), (i), (s1), (s2)) #define INSTR_CREATE_vpternlogq_mask(dc, d, k, i, s1, s2) \ instr_create_1dst_4src((dc), OP_vpternlogq, (d), (k), (i), (s1), (s2)) +/* GFNI */ +#define INSTR_CREATE_vgf2p8affineqb_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vgf2p8affineqb, (d), (k), (i), (s1), (s2)) +#define INSTR_CREATE_vgf2p8affineinvqb_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vgf2p8affineinvqb, (d), (k), (i), (s1), (s2)) /** @} */ /* end doxygen group */ /** @name 1 destination, 3 sources where 2 are implicit */ diff --git a/core/ir/x86/opcode_api.h b/core/ir/x86/opcode_api.h index 9c286c80f79..3f5abaaf316 100644 --- a/core/ir/x86/opcode_api.h +++ b/core/ir/x86/opcode_api.h @@ -1656,6 +1656,14 @@ enum { /* 1453 */ OP_vpopcntw, /**< IA-32/AMD64 vpopcntw opcode. */ /* 1454 */ OP_vpshufbitqmb, /**< IA-32/AMD64 vpshufbitqmb opcode. */ + /* GFNI */ + /* 1455 */ OP_gf2p8mulb, /**< IA-32/AMD64 gf2p8mulb opcode. */ + /* 1456 */ OP_gf2p8affineqb, /**< IA-32/AMD64 gf2p8affineqb opcode. */ + /* 1457 */ OP_gf2p8affineinvqb, /**< IA-32/AMD64 gf2p8affineinvqb opcode. */ + /* 1458 */ OP_vgf2p8mulb, /**< IA-32/AMD64 vgf2p8mulb opcode. */ + /* 1459 */ OP_vgf2p8affineqb, /**< IA-32/AMD64 vgf2p8affineqb opcode. */ + /* 1460 */ OP_vgf2p8affineinvqb, /**< IA-32/AMD64 vgf2p8affineinvqb opcode. */ + OP_AFTER_LAST, OP_FIRST = OP_add, /**< First real opcode. */ OP_LAST = OP_AFTER_LAST - 1, /**< Last real opcode. */ diff --git a/suite/tests/api/ir_x86_2args.h b/suite/tests/api/ir_x86_2args.h index e7f2f262b67..d0e5023e131 100644 --- a/suite/tests/api/ir_x86_2args.h +++ b/suite/tests/api/ir_x86_2args.h @@ -459,3 +459,10 @@ OPCODE(vpabsd, vpabsd, vpabsd, 0, REGARG(XMM1), MEMARG(OPSZ_16)) OPCODE(vpabsb_256, vpabsb, vpabsb, 0, REGARG(YMM1), MEMARG(OPSZ_32)) OPCODE(vpabsw_256, vpabsw, vpabsw, 0, REGARG(YMM1), MEMARG(OPSZ_32)) OPCODE(vpabsd_256, vpabsd, vpabsd, 0, REGARG(YMM1), MEMARG(OPSZ_32)) + +/****************************************************************************/ +/* GFNI */ +OPCODE(gf2p8mulb_regreg, gf2p8mulb, gf2p8mulb, 0, REGARG(XMM0), REGARG(XMM1)) +OPCODE(gf2p8mulb_regmem, gf2p8mulb, gf2p8mulb, 0, REGARG(XMM0), MEMARG(OPSZ_16)) +OPCODE(gf2p8mulb_reghireg, gf2p8mulb, gf2p8mulb, X64_ONLY, REGARG(XMM0), REGARG(XMM8)) +OPCODE(gf2p8mulb_hiregreg, gf2p8mulb, gf2p8mulb, X64_ONLY, REGARG(XMM8), REGARG(XMM0)) diff --git a/suite/tests/api/ir_x86_3args.h b/suite/tests/api/ir_x86_3args.h index 4120154fdee..a91a8794127 100644 --- a/suite/tests/api/ir_x86_3args.h +++ b/suite/tests/api/ir_x86_3args.h @@ -479,3 +479,43 @@ OPCODE(sha1rnds4_xlom, sha1rnds4, sha1rnds4, X64_ONLY, REGARG(XMM0), MEMARG(OPSZ IMMARG(OPSZ_1)) OPCODE(sha1rnds4_xhim, sha1rnds4, sha1rnds4, X64_ONLY, REGARG(XMM15), MEMARG(OPSZ_16), IMMARG(OPSZ_1)) + +/* GFNI */ +OPCODE(gf2p8affineqb_xloxlo, gf2p8affineqb, gf2p8affineqb, 0, REGARG(XMM0), REGARG(XMM1), + IMMARG(OPSZ_1)) +OPCODE(gf2p8affineqb_xloxhi, gf2p8affineqb, gf2p8affineqb, X64_ONLY, REGARG(XMM7), + REGARG(XMM15), IMMARG(OPSZ_1)) +OPCODE(gf2p8affineqb_xlom, gf2p8affineqb, gf2p8affineqb, 0, REGARG(XMM0), MEMARG(OPSZ_16), + IMMARG(OPSZ_1)) +OPCODE(gf2p8affineqb_xhim, gf2p8affineqb, gf2p8affineqb, X64_ONLY, REGARG(XMM15), + MEMARG(OPSZ_16), IMMARG(OPSZ_1)) + +OPCODE(gf2p8affineinvqb_xloxlo, gf2p8affineinvqb, gf2p8affineinvqb, 0, REGARG(XMM0), + REGARG(XMM1), IMMARG(OPSZ_1)) +OPCODE(gf2p8affineinvqb_xloxhi, gf2p8affineinvqb, gf2p8affineinvqb, X64_ONLY, + REGARG(XMM7), REGARG(XMM15), IMMARG(OPSZ_1)) +OPCODE(gf2p8affineinvqb_xlom, gf2p8affineinvqb, gf2p8affineinvqb, 0, REGARG(XMM0), + MEMARG(OPSZ_16), IMMARG(OPSZ_1)) +OPCODE(gf2p8affineinvqb_xhim, gf2p8affineinvqb, gf2p8affineinvqb, X64_ONLY, REGARG(XMM15), + MEMARG(OPSZ_16), IMMARG(OPSZ_1)) + +OPCODE(vgf2p8mulb_xloxloxlo, vgf2p8mulb, vgf2p8mulb, 0, REGARG(XMM0), REGARG(XMM1), + REGARG(XMM2)) +OPCODE(vgf2p8mulb_xloxlom, vgf2p8mulb, vgf2p8mulb, 0, REGARG(XMM0), REGARG(XMM1), + MEMARG(OPSZ_16)) +OPCODE(vgf2p8mulb_xloxloxhi, vgf2p8mulb, vgf2p8mulb, X64_ONLY, REGARG(XMM0), REGARG(XMM1), + REGARG(XMM8)) +OPCODE(vgf2p8mulb_xloxhixlo, vgf2p8mulb, vgf2p8mulb, X64_ONLY, REGARG(XMM8), REGARG(XMM0), + REGARG(XMM1)) +OPCODE(vgf2p8mulb_xhixloxlo, vgf2p8mulb, vgf2p8mulb, X64_ONLY, REGARG(XMM0), REGARG(XMM8), + REGARG(XMM1)) +OPCODE(vgf2p8mulb_yloyloylo, vgf2p8mulb, vgf2p8mulb, 0, REGARG(YMM0), REGARG(YMM1), + REGARG(YMM2)) +OPCODE(vgf2p8mulb_yloylom, vgf2p8mulb, vgf2p8mulb, 0, REGARG(YMM0), REGARG(YMM1), + MEMARG(OPSZ_32)) +OPCODE(vgf2p8mulb_yloyloyhi, vgf2p8mulb, vgf2p8mulb, X64_ONLY, REGARG(YMM0), REGARG(YMM1), + REGARG(YMM8)) +OPCODE(vgf2p8mulb_yloyhiylo, vgf2p8mulb, vgf2p8mulb, X64_ONLY, REGARG(YMM8), REGARG(YMM0), + REGARG(YMM1)) +OPCODE(vgf2p8mulb_yhiyloylo, vgf2p8mulb, vgf2p8mulb, X64_ONLY, REGARG(YMM0), REGARG(YMM8), + REGARG(YMM1)) diff --git a/suite/tests/api/ir_x86_4args.h b/suite/tests/api/ir_x86_4args.h index 44d225097b3..786bd774089 100644 --- a/suite/tests/api/ir_x86_4args.h +++ b/suite/tests/api/ir_x86_4args.h @@ -329,3 +329,47 @@ OPCODE(vpblendd_256, vpblendd, vpblendd, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(O /* AVX2 */ OPCODE(vperm2i128, vperm2i128, vperm2i128, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32), IMMARG(OPSZ_1)) + +/****************************************************************************/ +/* GFNI */ +OPCODE(vgf2p8affineqb_xloxloxlo, vgf2p8affineqb, vgf2p8affineqb, 0, REGARG(XMM0), + REGARG(XMM1), REGARG(XMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_xloxlom, vgf2p8affineqb, vgf2p8affineqb, 0, REGARG(XMM0), + REGARG(XMM1), MEMARG(OPSZ_16), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_xloxloxhi, vgf2p8affineqb, vgf2p8affineqb, X64_ONLY, REGARG(XMM0), + REGARG(XMM1), REGARG(XMM8), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_xloxhixlo, vgf2p8affineqb, vgf2p8affineqb, X64_ONLY, REGARG(XMM0), + REGARG(XMM8), REGARG(XMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_xhixloxlo, vgf2p8affineqb, vgf2p8affineqb, X64_ONLY, REGARG(XMM8), + REGARG(XMM1), REGARG(XMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_yloyloylo, vgf2p8affineqb, vgf2p8affineqb, 0, REGARG(YMM0), + REGARG(YMM1), REGARG(YMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_yloylom, vgf2p8affineqb, vgf2p8affineqb, 0, REGARG(YMM0), + REGARG(YMM1), MEMARG(OPSZ_32), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_yloyloyhi, vgf2p8affineqb, vgf2p8affineqb, X64_ONLY, REGARG(YMM0), + REGARG(YMM1), REGARG(YMM8), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_yloyhiylo, vgf2p8affineqb, vgf2p8affineqb, X64_ONLY, REGARG(YMM0), + REGARG(YMM8), REGARG(YMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineqb_yhiyloylo, vgf2p8affineqb, vgf2p8affineqb, X64_ONLY, REGARG(YMM8), + REGARG(YMM1), REGARG(YMM2), IMMARG(OPSZ_1)) + +OPCODE(vgf2p8affineinvqb_xloxloxlo, vgf2p8affineinvqb, vgf2p8affineinvqb, 0, REGARG(XMM0), + REGARG(XMM1), REGARG(XMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_xloxlom, vgf2p8affineinvqb, vgf2p8affineinvqb, 0, REGARG(XMM0), + REGARG(XMM1), MEMARG(OPSZ_16), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_xloxloxhi, vgf2p8affineinvqb, vgf2p8affineinvqb, X64_ONLY, + REGARG(XMM0), REGARG(XMM1), REGARG(XMM8), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_xloxhixlo, vgf2p8affineinvqb, vgf2p8affineinvqb, X64_ONLY, + REGARG(XMM0), REGARG(XMM8), REGARG(XMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_xhixloxlo, vgf2p8affineinvqb, vgf2p8affineinvqb, X64_ONLY, + REGARG(XMM8), REGARG(XMM1), REGARG(XMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_yloyloylo, vgf2p8affineinvqb, vgf2p8affineinvqb, 0, REGARG(YMM0), + REGARG(YMM1), REGARG(YMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_yloylom, vgf2p8affineinvqb, vgf2p8affineinvqb, 0, REGARG(YMM0), + REGARG(YMM1), MEMARG(OPSZ_32), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_yloyloyhi, vgf2p8affineinvqb, vgf2p8affineinvqb, X64_ONLY, + REGARG(YMM0), REGARG(YMM1), REGARG(YMM8), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_yloyhiylo, vgf2p8affineinvqb, vgf2p8affineinvqb, X64_ONLY, + REGARG(YMM0), REGARG(YMM8), REGARG(YMM2), IMMARG(OPSZ_1)) +OPCODE(vgf2p8affineinvqb_yhiyloylo, vgf2p8affineinvqb, vgf2p8affineinvqb, X64_ONLY, + REGARG(YMM8), REGARG(YMM1), REGARG(YMM2), IMMARG(OPSZ_1)) diff --git a/suite/tests/api/ir_x86_4args_avx512_evex_mask_B.h b/suite/tests/api/ir_x86_4args_avx512_evex_mask_B.h index e41b4176eba..cd724ffc437 100644 --- a/suite/tests/api/ir_x86_4args_avx512_evex_mask_B.h +++ b/suite/tests/api/ir_x86_4args_avx512_evex_mask_B.h @@ -2193,3 +2193,27 @@ OPCODE(vprorq_zhik7zhild, vprorq, vprorq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K IMMARG(OPSZ_1), MEMARG(OPSZ_64)) OPCODE(vprorq_zhik7zhibcst, vprorq, vprorq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8mulb_xlok0xloxlo, vgf2p8mulb, vgf2p8mulb_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vgf2p8mulb_xlok0xlold, vgf2p8mulb, vgf2p8mulb_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vgf2p8mulb_ylok0yloylo, vgf2p8mulb, vgf2p8mulb_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vgf2p8mulb_ylok0ylold, vgf2p8mulb, vgf2p8mulb_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vgf2p8mulb_zlok0zlozlo, vgf2p8mulb, vgf2p8mulb_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vgf2p8mulb_zlok0zlold, vgf2p8mulb, vgf2p8mulb_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vgf2p8mulb_xhik7xhixhi, vgf2p8mulb, vgf2p8mulb_mask, X64_ONLY, REGARG(XMM16), + REGARG(K7), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vgf2p8mulb_xhik7xhild, vgf2p8mulb, vgf2p8mulb_mask, X64_ONLY, REGARG(XMM16), + REGARG(K7), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vgf2p8mulb_yhik7yhiyhi, vgf2p8mulb, vgf2p8mulb_mask, X64_ONLY, REGARG(YMM16), + REGARG(K7), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vgf2p8mulb_yhik7yhild, vgf2p8mulb, vgf2p8mulb_mask, X64_ONLY, REGARG(YMM16), + REGARG(K7), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vgf2p8mulb_zhik7zhizhi, vgf2p8mulb, vgf2p8mulb_mask, X64_ONLY, REGARG(ZMM16), + REGARG(K7), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vgf2p8mulb_zhik7zhild, vgf2p8mulb, vgf2p8mulb_mask, X64_ONLY, REGARG(ZMM16), + REGARG(K7), REGARG(ZMM31), MEMARG(OPSZ_64)) diff --git a/suite/tests/api/ir_x86_5args_avx512_evex_mask.h b/suite/tests/api/ir_x86_5args_avx512_evex_mask.h index 5b093cfa3ef..6003c1b9fad 100644 --- a/suite/tests/api/ir_x86_5args_avx512_evex_mask.h +++ b/suite/tests/api/ir_x86_5args_avx512_evex_mask.h @@ -1039,3 +1039,76 @@ OPCODE(vpternlogq_zhik7zhild, vpternlogq, vpternlogq_mask, X64_ONLY, REGARG(ZMM1 REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) OPCODE(vpternlogq_zhik7zhibcst, vpternlogq, vpternlogq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_8)) + +OPCODE(vgf2p8affineqb_xlok0xloxlo, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(XMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vgf2p8affineqb_xlok0xlold, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(XMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vgf2p8affineqb_xlok0xlobcst, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(XMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineqb_xhik7xhixhi, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vgf2p8affineqb_xhik7xhild, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vgf2p8affineqb_xhik7xhibcst, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineqb_ylok0yloylo, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(YMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vgf2p8affineqb_ylok0ylold, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(YMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vgf2p8affineqb_ylok0ylobcst, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(YMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineqb_yhik7yhiyhi, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vgf2p8affineqb_yhik7yhild, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vgf2p8affineqb_yhik7yhibcst, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineqb_zlok0zlozlo, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(ZMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vgf2p8affineqb_zlok0zlold, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(ZMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vgf2p8affineqb_zlok0zlobcst, vgf2p8affineqb, vgf2p8affineqb_mask, 0, REGARG(ZMM0), + REGARG(K0), IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineqb_zhik7zhizhi, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vgf2p8affineqb_zhik7zhild, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vgf2p8affineqb_zhik7zhibcst, vgf2p8affineqb, vgf2p8affineqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineinvqb_xlok0xloxlo, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(XMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vgf2p8affineinvqb_xlok0xlold, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(XMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vgf2p8affineinvqb_xlok0xlobcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(XMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineinvqb_xhik7xhixhi, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vgf2p8affineinvqb_xhik7xhild, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vgf2p8affineinvqb_xhik7xhibcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, + X64_ONLY, REGARG(XMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineinvqb_ylok0yloylo, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(YMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vgf2p8affineinvqb_ylok0ylold, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(YMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vgf2p8affineinvqb_ylok0ylobcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(YMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineinvqb_yhik7yhiyhi, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vgf2p8affineinvqb_yhik7yhild, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vgf2p8affineinvqb_yhik7yhibcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, + X64_ONLY, REGARG(YMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineinvqb_zlok0zlozlo, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(ZMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vgf2p8affineinvqb_zlok0zlold, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(ZMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vgf2p8affineinvqb_zlok0zlobcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, 0, + REGARG(ZMM0), REGARG(K0), IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_8)) +OPCODE(vgf2p8affineinvqb_zhik7zhizhi, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vgf2p8affineinvqb_zhik7zhild, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vgf2p8affineinvqb_zhik7zhibcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, + X64_ONLY, REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_8)) diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect index 3fde275003a..61638d23b1c 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect @@ -598,6 +598,7 @@ test_s: 90 nop c4 e2 79 dc 11 vaesenc %xmm0, (%ecx), %xmm2 c4 e3 49 44 d4 08 vpclmulqdq %xmm6, %xmm4, $0x08, %xmm2 + c4 e2 69 cf d9 vgf2p8mulb %xmm2, %xmm1, %xmm3 90 nop 90 nop 90 nop @@ -653,7 +654,7 @@ test_s: 89 c0 mov %eax, %eax 4c dec %esp 89 c0 mov %eax, %eax - eb fe jmp $0x1000068f + eb fe jmp $0x10000694 90 nop 90 nop 90 nop @@ -1962,6 +1963,18 @@ test_s: c5 cc c2 11 1e vcmpps %ymm6, (%ecx), $0x1e, %ymm2 c5 cc c2 d4 1f vcmpps %ymm6, %ymm4, $0x1f, %ymm2 c5 cc c2 11 1f vcmpps %ymm6, (%ecx), $0x1f, %ymm2 + c4 e2 55 cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 + c4 e2 55 cf 31 vgf2p8mulb %ymm5, (%ecx), %ymm6 + c4 e2 55 cf b4 f4 c0 vgf2p8mulb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 + 1d fe ff + c4 e2 55 cf b2 e0 0f vgf2p8mulb %ymm5, 0x00000fe0(%edx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 10 vgf2p8mulb %ymm5, 0x00001000(%edx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 f0 vgf2p8mulb %ymm5, -0x00001000(%edx), %ymm6 + ff ff + c4 e2 55 cf b2 e0 ef vgf2p8mulb %ymm5, -0x00001020(%edx), %ymm6 + ff ff c5 ff e6 e4 vcvtpd2dq %ymm4, %ymm4 c5 ff e6 21 vcvtpd2dq (%ecx), %ymm4 c5 fd 5a e4 vcvtpd2ps %ymm4, %ymm4 @@ -2038,6 +2051,32 @@ test_s: c5 cd c6 11 07 vshufpd %ymm6, (%ecx), $0x07, %ymm2 c5 cc c6 d4 07 vshufps %ymm6, %ymm4, $0x07, %ymm2 c5 cc c6 11 07 vshufps %ymm6, (%ecx), $0x07, %ymm2 + c4 e3 d5 ce f4 ab vgf2p8affineqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 ce f4 7b vgf2p8affineqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 ce 31 7b vgf2p8affineqb %ymm5, (%ecx), $0x7b, %ymm6 + c4 e3 d5 ce b4 f4 c0 vgf2p8affineqb %ymm5, -0x0001e240(%esp,%esi,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 ce b2 e0 0f vgf2p8affineqb %ymm5, 0x00000fe0(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 10 vgf2p8affineqb %ymm5, 0x00001000(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 f0 vgf2p8affineqb %ymm5, -0x00001000(%edx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 ce b2 e0 ef vgf2p8affineqb %ymm5, -0x00001020(%edx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf f4 ab vgf2p8affineinvqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 cf f4 7b vgf2p8affineinvqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 cf 31 7b vgf2p8affineinvqb %ymm5, (%ecx), $0x7b, %ymm6 + c4 e3 d5 cf b4 f4 c0 vgf2p8affineinvqb %ymm5, -0x0001e240(%esp,%esi,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 cf b2 e0 0f vgf2p8affineinvqb %ymm5, 0x00000fe0(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 10 vgf2p8affineinvqb %ymm5, 0x00001000(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 f0 vgf2p8affineinvqb %ymm5, -0x00001000(%edx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf b2 e0 ef vgf2p8affineinvqb %ymm5, -0x00001020(%edx), $0x7b, %ymm6 + ff ff 7b c4 e3 6d 4b fe 40 vblendvpd %ymm2, %ymm6, %ymm4, %ymm7 c4 e3 6d 4b 39 40 vblendvpd %ymm2, (%ecx), %ymm4, %ymm7 c4 e3 6d 4a fe 40 vblendvps %ymm2, %ymm6, %ymm4, %ymm7 @@ -2492,6 +2531,18 @@ test_s: c5 c8 c2 39 1e vcmpps %xmm6, (%ecx), $0x1e, %xmm7 c5 c8 c2 d4 1f vcmpps %xmm6, %xmm4, $0x1f, %xmm2 c5 c8 c2 39 1f vcmpps %xmm6, (%ecx), $0x1f, %xmm7 + c4 e2 51 cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 + c4 e2 51 cf 31 vgf2p8mulb %xmm5, (%ecx), %xmm6 + c4 e2 51 cf b4 f4 c0 vgf2p8mulb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 + 1d fe ff + c4 e2 51 cf b2 f0 07 vgf2p8mulb %xmm5, 0x000007f0(%edx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 08 vgf2p8mulb %xmm5, 0x00000800(%edx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 f8 vgf2p8mulb %xmm5, -0x00000800(%edx), %xmm6 + ff ff + c4 e2 51 cf b2 f0 f7 vgf2p8mulb %xmm5, -0x00000810(%edx), %xmm6 + ff ff c4 e2 59 2c 31 vmaskmovps %xmm4, (%ecx), %xmm6 c4 e2 59 2d 31 vmaskmovpd %xmm4, (%ecx), %xmm6 c4 e3 79 df f4 07 vaeskeygenassist %xmm4, $0x07, %xmm6 @@ -2544,6 +2595,32 @@ test_s: c5 c9 c6 11 07 vshufpd %xmm6, (%ecx), $0x07, %xmm2 c5 c8 c6 d4 07 vshufps %xmm6, %xmm4, $0x07, %xmm2 c5 c8 c6 11 07 vshufps %xmm6, (%ecx), $0x07, %xmm2 + c4 e3 d1 ce f4 ab vgf2p8affineqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 ce f4 7b vgf2p8affineqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 ce 31 7b vgf2p8affineqb %xmm5, (%ecx), $0x7b, %xmm6 + c4 e3 d1 ce b4 f4 c0 vgf2p8affineqb %xmm5, -0x0001e240(%esp,%esi,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 ce b2 f0 07 vgf2p8affineqb %xmm5, 0x000007f0(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 08 vgf2p8affineqb %xmm5, 0x00000800(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 f8 vgf2p8affineqb %xmm5, -0x00000800(%edx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 ce b2 f0 f7 vgf2p8affineqb %xmm5, -0x00000810(%edx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf f4 ab vgf2p8affineinvqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 cf f4 7b vgf2p8affineinvqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 cf 31 7b vgf2p8affineinvqb %xmm5, (%ecx), $0x7b, %xmm6 + c4 e3 d1 cf b4 f4 c0 vgf2p8affineinvqb %xmm5, -0x0001e240(%esp,%esi,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 cf b2 f0 07 vgf2p8affineinvqb %xmm5, 0x000007f0(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 08 vgf2p8affineinvqb %xmm5, 0x00000800(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 f8 vgf2p8affineinvqb %xmm5, -0x00000800(%edx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf b2 f0 f7 vgf2p8affineinvqb %xmm5, -0x00000810(%edx), $0x7b, %xmm6 + ff ff 7b c4 e3 69 4b fe 40 vblendvpd %xmm2, %xmm6, %xmm4, %xmm7 c4 e3 69 4b 39 40 vblendvpd %xmm2, (%ecx), %xmm4, %xmm7 c4 e3 69 4a fe 40 vblendvps %xmm2, %xmm6, %xmm4, %xmm7 @@ -3577,6 +3654,19 @@ test_s: c5 cc c2 d4 1f vcmpps %ymm6, %ymm4, $0x1f, %ymm2 c5 cc c2 11 1f vcmpps %ymm6, (%ecx), $0x1f, %ymm2 c5 cc c2 11 1f vcmpps %ymm6, (%ecx), $0x1f, %ymm2 + c4 e2 55 cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 + c4 e2 55 cf 31 vgf2p8mulb %ymm5, (%ecx), %ymm6 + c4 e2 55 cf 31 vgf2p8mulb %ymm5, (%ecx), %ymm6 + c4 e2 55 cf b4 f4 c0 vgf2p8mulb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 + 1d fe ff + c4 e2 55 cf b2 e0 0f vgf2p8mulb %ymm5, 0x00000fe0(%edx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 10 vgf2p8mulb %ymm5, 0x00001000(%edx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 f0 vgf2p8mulb %ymm5, -0x00001000(%edx), %ymm6 + ff ff + c4 e2 55 cf b2 e0 ef vgf2p8mulb %ymm5, -0x00001020(%edx), %ymm6 + ff ff c5 ff e6 e4 vcvtpd2dq %ymm4, %ymm4 c5 ff e6 21 vcvtpd2dq (%ecx), %ymm4 c5 fd 5a e4 vcvtpd2ps %ymm4, %ymm4 @@ -3690,6 +3780,34 @@ test_s: c5 cc c6 d4 07 vshufps %ymm6, %ymm4, $0x07, %ymm2 c5 cc c6 11 07 vshufps %ymm6, (%ecx), $0x07, %ymm2 c5 cc c6 11 07 vshufps %ymm6, (%ecx), $0x07, %ymm2 + c4 e3 d5 ce f4 ab vgf2p8affineqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 ce f4 7b vgf2p8affineqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 ce 31 7b vgf2p8affineqb %ymm5, (%ecx), $0x7b, %ymm6 + c4 e3 d5 ce 31 7b vgf2p8affineqb %ymm5, (%ecx), $0x7b, %ymm6 + c4 e3 d5 ce b4 f4 c0 vgf2p8affineqb %ymm5, -0x0001e240(%esp,%esi,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 ce b2 e0 0f vgf2p8affineqb %ymm5, 0x00000fe0(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 10 vgf2p8affineqb %ymm5, 0x00001000(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 f0 vgf2p8affineqb %ymm5, -0x00001000(%edx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 ce b2 e0 ef vgf2p8affineqb %ymm5, -0x00001020(%edx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf f4 ab vgf2p8affineinvqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 cf f4 7b vgf2p8affineinvqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 cf 31 7b vgf2p8affineinvqb %ymm5, (%ecx), $0x7b, %ymm6 + c4 e3 d5 cf 31 7b vgf2p8affineinvqb %ymm5, (%ecx), $0x7b, %ymm6 + c4 e3 d5 cf b4 f4 c0 vgf2p8affineinvqb %ymm5, -0x0001e240(%esp,%esi,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 cf b2 e0 0f vgf2p8affineinvqb %ymm5, 0x00000fe0(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 10 vgf2p8affineinvqb %ymm5, 0x00001000(%edx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 f0 vgf2p8affineinvqb %ymm5, -0x00001000(%edx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf b2 e0 ef vgf2p8affineinvqb %ymm5, -0x00001020(%edx), $0x7b, %ymm6 + ff ff 7b c4 e3 6d 4b fe 40 vblendvpd %ymm2, %ymm6, %ymm4, %ymm7 c4 e3 6d 4b 39 40 vblendvpd %ymm2, (%ecx), %ymm4, %ymm7 c4 e3 6d 4b 39 40 vblendvpd %ymm2, (%ecx), %ymm4, %ymm7 @@ -4371,6 +4489,19 @@ test_s: c5 c8 c2 d4 1f vcmpps %xmm6, %xmm4, $0x1f, %xmm2 c5 c8 c2 39 1f vcmpps %xmm6, (%ecx), $0x1f, %xmm7 c5 c8 c2 39 1f vcmpps %xmm6, (%ecx), $0x1f, %xmm7 + c4 e2 51 cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 + c4 e2 51 cf 31 vgf2p8mulb %xmm5, (%ecx), %xmm6 + c4 e2 51 cf 31 vgf2p8mulb %xmm5, (%ecx), %xmm6 + c4 e2 51 cf b4 f4 c0 vgf2p8mulb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 + 1d fe ff + c4 e2 51 cf b2 f0 07 vgf2p8mulb %xmm5, 0x000007f0(%edx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 08 vgf2p8mulb %xmm5, 0x00000800(%edx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 f8 vgf2p8mulb %xmm5, -0x00000800(%edx), %xmm6 + ff ff + c4 e2 51 cf b2 f0 f7 vgf2p8mulb %xmm5, -0x00000810(%edx), %xmm6 + ff ff c4 e2 59 2c 31 vmaskmovps %xmm4, (%ecx), %xmm6 c4 e2 59 2c 31 vmaskmovps %xmm4, (%ecx), %xmm6 c4 e2 59 2d 31 vmaskmovpd %xmm4, (%ecx), %xmm6 @@ -4451,6 +4582,34 @@ test_s: c5 c8 c6 d4 07 vshufps %xmm6, %xmm4, $0x07, %xmm2 c5 c8 c6 11 07 vshufps %xmm6, (%ecx), $0x07, %xmm2 c5 c8 c6 11 07 vshufps %xmm6, (%ecx), $0x07, %xmm2 + c4 e3 d1 ce f4 ab vgf2p8affineqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 ce f4 7b vgf2p8affineqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 ce 31 7b vgf2p8affineqb %xmm5, (%ecx), $0x7b, %xmm6 + c4 e3 d1 ce 31 7b vgf2p8affineqb %xmm5, (%ecx), $0x7b, %xmm6 + c4 e3 d1 ce b4 f4 c0 vgf2p8affineqb %xmm5, -0x0001e240(%esp,%esi,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 ce b2 f0 07 vgf2p8affineqb %xmm5, 0x000007f0(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 08 vgf2p8affineqb %xmm5, 0x00000800(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 f8 vgf2p8affineqb %xmm5, -0x00000800(%edx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 ce b2 f0 f7 vgf2p8affineqb %xmm5, -0x00000810(%edx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf f4 ab vgf2p8affineinvqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 cf f4 7b vgf2p8affineinvqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 cf 31 7b vgf2p8affineinvqb %xmm5, (%ecx), $0x7b, %xmm6 + c4 e3 d1 cf 31 7b vgf2p8affineinvqb %xmm5, (%ecx), $0x7b, %xmm6 + c4 e3 d1 cf b4 f4 c0 vgf2p8affineinvqb %xmm5, -0x0001e240(%esp,%esi,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 cf b2 f0 07 vgf2p8affineinvqb %xmm5, 0x000007f0(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 08 vgf2p8affineinvqb %xmm5, 0x00000800(%edx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 f8 vgf2p8affineinvqb %xmm5, -0x00000800(%edx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf b2 f0 f7 vgf2p8affineinvqb %xmm5, -0x00000810(%edx), $0x7b, %xmm6 + ff ff 7b c4 e3 69 4b fe 40 vblendvpd %xmm2, %xmm6, %xmm4, %xmm7 c4 e3 69 4b 39 40 vblendvpd %xmm2, (%ecx), %xmm4, %xmm7 c4 e3 69 4b 39 40 vblendvpd %xmm2, (%ecx), %xmm4, %xmm7 @@ -6300,7 +6459,7 @@ test_s: 90 nop 90 nop f8 clc - eb 1d jmp $0x10006c15 + eb 1d jmp $0x10006f44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6308,7 +6467,7 @@ test_s: 90 nop f4 hlt f8 clc - eb 1c jmp $0x10006c35 + eb 1c jmp $0x10006f64 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6316,7 +6475,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 1b jmp $0x10006c55 + eb 1b jmp $0x10006f84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6325,7 +6484,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 1a jmp $0x10006c75 + eb 1a jmp $0x10006fa4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6336,7 +6495,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 19 jmp $0x10006c95 + eb 19 jmp $0x10006fc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6347,7 +6506,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 18 jmp $0x10006cb5 + eb 18 jmp $0x10006fe4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6359,7 +6518,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 17 jmp $0x10006cd5 + eb 17 jmp $0x10007004 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6372,7 +6531,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 16 jmp $0x10006cf5 + eb 16 jmp $0x10007024 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6386,7 +6545,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 15 jmp $0x10006d15 + eb 15 jmp $0x10007044 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6400,7 +6559,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 14 jmp $0x10006d35 + eb 14 jmp $0x10007064 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6415,7 +6574,7 @@ test_s: f4 hlt f4 hlt f8 clc - eb 13 jmp $0x10006d55 + eb 13 jmp $0x10007084 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -6926,7 +7085,7 @@ test_s: f8 clc f8 clc fc cld - eb 1c jmp $0x10007015 + eb 1c jmp $0x10007344 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6934,7 +7093,7 @@ test_s: f4 hlt f8 clc fc cld - eb 1b jmp $0x10007035 + eb 1b jmp $0x10007364 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6943,7 +7102,7 @@ test_s: f4 hlt f8 clc fc cld - eb 1a jmp $0x10007055 + eb 1a jmp $0x10007384 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6954,7 +7113,7 @@ test_s: f4 hlt f8 clc fc cld - eb 19 jmp $0x10007075 + eb 19 jmp $0x100073a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6965,7 +7124,7 @@ test_s: f4 hlt f8 clc fc cld - eb 18 jmp $0x10007095 + eb 18 jmp $0x100073c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6977,7 +7136,7 @@ test_s: f4 hlt f8 clc fc cld - eb 17 jmp $0x100070b5 + eb 17 jmp $0x100073e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -6990,7 +7149,7 @@ test_s: f4 hlt f8 clc fc cld - eb 16 jmp $0x100070d5 + eb 16 jmp $0x10007404 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7004,7 +7163,7 @@ test_s: f4 hlt f8 clc fc cld - eb 15 jmp $0x100070f5 + eb 15 jmp $0x10007424 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7018,7 +7177,7 @@ test_s: f4 hlt f8 clc fc cld - eb 14 jmp $0x10007115 + eb 14 jmp $0x10007444 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7033,7 +7192,7 @@ test_s: f4 hlt f8 clc fc cld - eb 13 jmp $0x10007135 + eb 13 jmp $0x10007464 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -7576,7 +7735,7 @@ test_s: 90 nop f8 clc fc cld - eb 1c jmp $0x10007415 + eb 1c jmp $0x10007744 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7584,7 +7743,7 @@ test_s: f8 clc fc cld fc cld - eb 1b jmp $0x10007435 + eb 1b jmp $0x10007764 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7593,7 +7752,7 @@ test_s: f8 clc fc cld fc cld - eb 1a jmp $0x10007455 + eb 1a jmp $0x10007784 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7604,7 +7763,7 @@ test_s: f8 clc fc cld fc cld - eb 19 jmp $0x10007475 + eb 19 jmp $0x100077a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7615,7 +7774,7 @@ test_s: f8 clc fc cld fc cld - eb 18 jmp $0x10007495 + eb 18 jmp $0x100077c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7627,7 +7786,7 @@ test_s: f8 clc fc cld fc cld - eb 17 jmp $0x100074b5 + eb 17 jmp $0x100077e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7640,7 +7799,7 @@ test_s: f8 clc fc cld fc cld - eb 16 jmp $0x100074d5 + eb 16 jmp $0x10007804 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7654,7 +7813,7 @@ test_s: f8 clc fc cld fc cld - eb 15 jmp $0x100074f5 + eb 15 jmp $0x10007824 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7668,7 +7827,7 @@ test_s: f8 clc fc cld fc cld - eb 14 jmp $0x10007515 + eb 14 jmp $0x10007844 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -7683,7 +7842,7 @@ test_s: f8 clc fc cld fc cld - eb 13 jmp $0x10007535 + eb 13 jmp $0x10007864 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -8226,7 +8385,7 @@ test_s: f8 clc fc cld fc cld - eb 1b jmp $0x10007815 + eb 1b jmp $0x10007b44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8266,7 +8425,7 @@ test_s: f8 clc fc cld fc cld - eb 1b jmp $0x10007855 + eb 1b jmp $0x10007b84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8275,7 +8434,7 @@ test_s: fc cld fc cld fc cld - eb 1a jmp $0x10007875 + eb 1a jmp $0x10007ba4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8286,7 +8445,7 @@ test_s: fc cld fc cld fc cld - eb 19 jmp $0x10007895 + eb 19 jmp $0x10007bc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8297,7 +8456,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x100078b5 + eb 18 jmp $0x10007be4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8309,7 +8468,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x100078d5 + eb 17 jmp $0x10007c04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8322,7 +8481,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x100078f5 + eb 16 jmp $0x10007c24 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8336,7 +8495,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10007915 + eb 15 jmp $0x10007c44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8350,7 +8509,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10007935 + eb 14 jmp $0x10007c64 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8365,7 +8524,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10007955 + eb 13 jmp $0x10007c84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -8908,7 +9067,7 @@ test_s: fc cld fc cld fc cld - eb 1a jmp $0x10007c35 + eb 1a jmp $0x10007f64 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8949,7 +9108,7 @@ test_s: fc cld fc cld fc cld - eb 1a jmp $0x10007c75 + eb 1a jmp $0x10007fa4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -8991,7 +9150,7 @@ test_s: fc cld fc cld fc cld - eb 1a jmp $0x10007cb5 + eb 1a jmp $0x10007fe4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9002,7 +9161,7 @@ test_s: fc cld fc cld fc cld - eb 19 jmp $0x10007cd5 + eb 19 jmp $0x10008004 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9013,7 +9172,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x10007cf5 + eb 18 jmp $0x10008024 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9025,7 +9184,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10007d15 + eb 17 jmp $0x10008044 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9038,7 +9197,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10007d35 + eb 16 jmp $0x10008064 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9052,7 +9211,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10007d55 + eb 15 jmp $0x10008084 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9066,7 +9225,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10007d75 + eb 14 jmp $0x100080a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9081,7 +9240,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10007d95 + eb 13 jmp $0x100080c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -9624,7 +9783,7 @@ test_s: fc cld fc cld fc cld - eb 19 jmp $0x10008075 + eb 19 jmp $0x100083a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9664,7 +9823,7 @@ test_s: fc cld fc cld fc cld - eb 19 jmp $0x100080b5 + eb 19 jmp $0x100083e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9705,7 +9864,7 @@ test_s: fc cld fc cld fc cld - eb 19 jmp $0x100080f5 + eb 19 jmp $0x10008424 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9747,7 +9906,7 @@ test_s: fc cld fc cld fc cld - eb 19 jmp $0x10008135 + eb 19 jmp $0x10008464 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9758,7 +9917,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x10008155 + eb 18 jmp $0x10008484 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9770,7 +9929,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10008175 + eb 17 jmp $0x100084a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9783,7 +9942,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008195 + eb 16 jmp $0x100084c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9797,7 +9956,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x100081b5 + eb 15 jmp $0x100084e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9811,7 +9970,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x100081d5 + eb 14 jmp $0x10008504 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -9826,7 +9985,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x100081f5 + eb 13 jmp $0x10008524 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -10370,7 +10529,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x100084d5 + eb 18 jmp $0x10008804 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10410,7 +10569,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x10008515 + eb 18 jmp $0x10008844 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10451,7 +10610,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x10008555 + eb 18 jmp $0x10008884 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10493,7 +10652,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x10008595 + eb 18 jmp $0x100088c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10536,7 +10695,7 @@ test_s: fc cld fc cld fc cld - eb 18 jmp $0x100085d5 + eb 18 jmp $0x10008904 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10548,7 +10707,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x100085f5 + eb 17 jmp $0x10008924 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10561,7 +10720,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008615 + eb 16 jmp $0x10008944 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10575,7 +10734,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10008635 + eb 15 jmp $0x10008964 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10589,7 +10748,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10008655 + eb 14 jmp $0x10008984 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -10604,7 +10763,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10008675 + eb 13 jmp $0x100089a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -11147,7 +11306,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10008955 + eb 17 jmp $0x10008c84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11188,7 +11347,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10008995 + eb 17 jmp $0x10008cc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11229,7 +11388,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x100089d5 + eb 17 jmp $0x10008d04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11271,7 +11430,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10008a15 + eb 17 jmp $0x10008d44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11314,7 +11473,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10008a55 + eb 17 jmp $0x10008d84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11358,7 +11517,7 @@ test_s: fc cld fc cld fc cld - eb 17 jmp $0x10008a95 + eb 17 jmp $0x10008dc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11371,7 +11530,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008ab5 + eb 16 jmp $0x10008de4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11385,7 +11544,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10008ad5 + eb 15 jmp $0x10008e04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11399,7 +11558,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10008af5 + eb 14 jmp $0x10008e24 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11414,7 +11573,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10008b15 + eb 13 jmp $0x10008e44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -11957,7 +12116,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008df5 + eb 16 jmp $0x10009124 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -11997,7 +12156,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008e35 + eb 16 jmp $0x10009164 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12039,7 +12198,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008e75 + eb 16 jmp $0x100091a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12081,7 +12240,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008eb5 + eb 16 jmp $0x100091e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12124,7 +12283,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008ef5 + eb 16 jmp $0x10009224 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12168,7 +12327,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008f35 + eb 16 jmp $0x10009264 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12213,7 +12372,7 @@ test_s: fc cld fc cld fc cld - eb 16 jmp $0x10008f75 + eb 16 jmp $0x100092a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12227,7 +12386,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10008f95 + eb 15 jmp $0x100092c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12241,7 +12400,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10008fb5 + eb 14 jmp $0x100092e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12256,7 +12415,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10008fd5 + eb 13 jmp $0x10009304 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -12800,7 +12959,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x100092b5 + eb 15 jmp $0x100095e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12839,7 +12998,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x100092f5 + eb 15 jmp $0x10009624 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12879,7 +13038,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10009335 + eb 15 jmp $0x10009664 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12921,7 +13080,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10009375 + eb 15 jmp $0x100096a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -12963,7 +13122,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x100093b5 + eb 15 jmp $0x100096e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13006,7 +13165,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x100093f5 + eb 15 jmp $0x10009724 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13050,7 +13209,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10009435 + eb 15 jmp $0x10009764 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13095,7 +13254,7 @@ test_s: fc cld fc cld fc cld - eb 15 jmp $0x10009475 + eb 15 jmp $0x100097a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13109,7 +13268,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009495 + eb 14 jmp $0x100097c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13124,7 +13283,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x100094b5 + eb 13 jmp $0x100097e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -13668,7 +13827,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009795 + eb 14 jmp $0x10009ac4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13708,7 +13867,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x100097d5 + eb 14 jmp $0x10009b04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13748,7 +13907,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009815 + eb 14 jmp $0x10009b44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13789,7 +13948,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009855 + eb 14 jmp $0x10009b84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13832,7 +13991,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009895 + eb 14 jmp $0x10009bc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13875,7 +14034,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x100098d5 + eb 14 jmp $0x10009c04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13919,7 +14078,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009915 + eb 14 jmp $0x10009c44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -13964,7 +14123,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009955 + eb 14 jmp $0x10009c84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -14010,7 +14169,7 @@ test_s: fc cld fc cld fc cld - eb 14 jmp $0x10009995 + eb 14 jmp $0x10009cc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -14025,7 +14184,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x100099b5 + eb 13 jmp $0x10009ce4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14569,7 +14728,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009c95 + eb 13 jmp $0x10009fc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14610,7 +14769,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009cd5 + eb 13 jmp $0x1000a004 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14652,7 +14811,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009d15 + eb 13 jmp $0x1000a044 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14694,7 +14853,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009d55 + eb 13 jmp $0x1000a084 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14737,7 +14896,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009d95 + eb 13 jmp $0x1000a0c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14782,7 +14941,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009dd5 + eb 13 jmp $0x1000a104 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14827,7 +14986,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009e15 + eb 13 jmp $0x1000a144 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14873,7 +15032,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009e55 + eb 13 jmp $0x1000a184 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14920,7 +15079,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009e95 + eb 13 jmp $0x1000a1c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -14968,7 +15127,7 @@ test_s: fc cld fc cld fc cld - eb 13 jmp $0x10009ed5 + eb 13 jmp $0x1000a204 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -26521,7 +26680,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x1000dbb5 + eb 13 jmp $0x1000dee4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -27799,7 +27958,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x1000e235 + eb 14 jmp $0x1000e564 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -27839,7 +27998,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x1000e275 + eb 13 jmp $0x1000e5a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -29112,7 +29271,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x1000e8d5 + eb 15 jmp $0x1000ec04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -29152,7 +29311,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x1000e915 + eb 14 jmp $0x1000ec44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -29193,7 +29352,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x1000e955 + eb 13 jmp $0x1000ec84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -30460,7 +30619,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x1000ef95 + eb 16 jmp $0x1000f2c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -30500,7 +30659,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x1000efd5 + eb 15 jmp $0x1000f304 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -30540,7 +30699,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x1000f015 + eb 14 jmp $0x1000f344 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -30581,7 +30740,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x1000f055 + eb 13 jmp $0x1000f384 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -31821,7 +31980,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x1000f675 + eb 17 jmp $0x1000f9a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -31861,7 +32020,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x1000f6b5 + eb 16 jmp $0x1000f9e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -31902,7 +32061,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x1000f6f5 + eb 15 jmp $0x1000fa24 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -31943,7 +32102,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x1000f735 + eb 14 jmp $0x1000fa64 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -31985,7 +32144,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x1000f775 + eb 13 jmp $0x1000faa4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -33218,7 +33377,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 18 jmp $0x1000fd75 + eb 18 jmp $0x100100a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -33259,7 +33418,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x1000fdb5 + eb 17 jmp $0x100100e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -33301,7 +33460,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x1000fdf5 + eb 16 jmp $0x10010124 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -33344,7 +33503,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x1000fe35 + eb 15 jmp $0x10010164 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -33387,7 +33546,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x1000fe75 + eb 14 jmp $0x100101a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -33431,7 +33590,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x1000feb5 + eb 13 jmp $0x100101e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -34676,7 +34835,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 19 jmp $0x10010495 + eb 19 jmp $0x100107c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -34716,7 +34875,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 18 jmp $0x100104d5 + eb 18 jmp $0x10010804 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -34757,7 +34916,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x10010515 + eb 17 jmp $0x10010844 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -34799,7 +34958,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x10010555 + eb 16 jmp $0x10010884 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -34842,7 +35001,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x10010595 + eb 15 jmp $0x100108c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -34885,7 +35044,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x100105d5 + eb 14 jmp $0x10010904 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -34929,7 +35088,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x10010615 + eb 13 jmp $0x10010944 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -36144,7 +36303,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1a jmp $0x10010bd5 + eb 1a jmp $0x10010f04 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36185,7 +36344,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 19 jmp $0x10010c15 + eb 19 jmp $0x10010f44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36226,7 +36385,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 18 jmp $0x10010c55 + eb 18 jmp $0x10010f84 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36268,7 +36427,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x10010c95 + eb 17 jmp $0x10010fc4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36311,7 +36470,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x10010cd5 + eb 16 jmp $0x10011004 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36355,7 +36514,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x10010d15 + eb 15 jmp $0x10011044 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36399,7 +36558,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x10010d55 + eb 14 jmp $0x10011084 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -36444,7 +36603,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x10010d95 + eb 13 jmp $0x100110c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -37649,7 +37808,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1b jmp $0x10011335 + eb 1b jmp $0x10011664 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37689,7 +37848,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1a jmp $0x10011375 + eb 1a jmp $0x100116a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37731,7 +37890,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 19 jmp $0x100113b5 + eb 19 jmp $0x100116e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37773,7 +37932,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 18 jmp $0x100113f5 + eb 18 jmp $0x10011724 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37816,7 +37975,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x10011435 + eb 17 jmp $0x10011764 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37860,7 +38019,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x10011475 + eb 16 jmp $0x100117a4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37905,7 +38064,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x100114b5 + eb 15 jmp $0x100117e4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37950,7 +38109,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x100114f5 + eb 14 jmp $0x10011824 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -37996,7 +38155,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x10011535 + eb 13 jmp $0x10011864 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -39190,7 +39349,7 @@ test_s: fc cld f4 hlt f4 hlt - eb 1c jmp $0x10011ab5 + eb 1c jmp $0x10011de4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39230,7 +39389,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1b jmp $0x10011af5 + eb 1b jmp $0x10011e24 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39271,7 +39430,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1a jmp $0x10011b35 + eb 1a jmp $0x10011e64 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39314,7 +39473,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 19 jmp $0x10011b75 + eb 19 jmp $0x10011ea4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39357,7 +39516,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 18 jmp $0x10011bb5 + eb 18 jmp $0x10011ee4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39401,7 +39560,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x10011bf5 + eb 17 jmp $0x10011f24 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39446,7 +39605,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x10011c35 + eb 16 jmp $0x10011f64 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39492,7 +39651,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x10011c75 + eb 15 jmp $0x10011fa4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39538,7 +39697,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x10011cb5 + eb 14 jmp $0x10011fe4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -39585,7 +39744,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x10011cf5 + eb 13 jmp $0x10012024 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -40767,7 +40926,7 @@ test_s: fc cld fc cld f4 hlt - eb 1d jmp $0x10012255 + eb 1d jmp $0x10012584 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -40807,7 +40966,7 @@ test_s: fc cld f4 hlt f4 hlt - eb 1c jmp $0x10012295 + eb 1c jmp $0x100125c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -40847,7 +41006,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1b jmp $0x100122d5 + eb 1b jmp $0x10012604 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -40888,7 +41047,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 1a jmp $0x10012315 + eb 1a jmp $0x10012644 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -40931,7 +41090,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 19 jmp $0x10012355 + eb 19 jmp $0x10012684 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -40974,7 +41133,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 18 jmp $0x10012395 + eb 18 jmp $0x100126c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -41018,7 +41177,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 17 jmp $0x100123d5 + eb 17 jmp $0x10012704 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -41063,7 +41222,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 16 jmp $0x10012415 + eb 16 jmp $0x10012744 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -41109,7 +41268,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 15 jmp $0x10012455 + eb 15 jmp $0x10012784 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -41155,7 +41314,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 14 jmp $0x10012495 + eb 14 jmp $0x100127c4 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -41202,7 +41361,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 13 jmp $0x100124d5 + eb 13 jmp $0x10012804 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -42354,7 +42513,7 @@ test_s: f8 clc fc cld f8 clc - eb 1b jmp $0x10012a15 + eb 1b jmp $0x10012d44 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42377,7 +42536,7 @@ test_s: 90 nop 90 nop 40 inc %eax - eb 1d jmp $0x10012a46 + eb 1d jmp $0x10012d75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42385,7 +42544,7 @@ test_s: 90 nop f4 hlt 40 inc %eax - eb 1c jmp $0x10012a66 + eb 1c jmp $0x10012d95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42393,7 +42552,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 1b jmp $0x10012a86 + eb 1b jmp $0x10012db5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42402,7 +42561,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 1a jmp $0x10012aa6 + eb 1a jmp $0x10012dd5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42413,7 +42572,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 19 jmp $0x10012ac6 + eb 19 jmp $0x10012df5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42424,7 +42583,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 18 jmp $0x10012ae6 + eb 18 jmp $0x10012e15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42436,7 +42595,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 17 jmp $0x10012b06 + eb 17 jmp $0x10012e35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42449,7 +42608,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 16 jmp $0x10012b26 + eb 16 jmp $0x10012e55 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42463,7 +42622,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 15 jmp $0x10012b46 + eb 15 jmp $0x10012e75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42477,7 +42636,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 14 jmp $0x10012b66 + eb 14 jmp $0x10012e95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -42492,7 +42651,7 @@ test_s: f4 hlt f4 hlt 40 inc %eax - eb 13 jmp $0x10012b86 + eb 13 jmp $0x10012eb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -43002,14 +43161,14 @@ test_s: f4 hlt 40 inc %eax 01 c0 add %eax, %eax - eb 1c jmp $0x10012e46 + eb 1c jmp $0x10013175 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt 01 c0 add %eax, %eax - eb 1b jmp $0x10012e66 + eb 1b jmp $0x10013195 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43017,7 +43176,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 1a jmp $0x10012e86 + eb 1a jmp $0x100131b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43027,7 +43186,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 19 jmp $0x10012ea6 + eb 19 jmp $0x100131d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43037,7 +43196,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 18 jmp $0x10012ec6 + eb 18 jmp $0x100131f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43048,7 +43207,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 17 jmp $0x10012ee6 + eb 17 jmp $0x10013215 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43060,7 +43219,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 16 jmp $0x10012f06 + eb 16 jmp $0x10013235 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43073,7 +43232,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 15 jmp $0x10012f26 + eb 15 jmp $0x10013255 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43086,7 +43245,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 14 jmp $0x10012f46 + eb 14 jmp $0x10013275 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43100,7 +43259,7 @@ test_s: f4 hlt f4 hlt 01 c0 add %eax, %eax - eb 13 jmp $0x10012f66 + eb 13 jmp $0x10013295 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -43621,20 +43780,20 @@ test_s: f4 hlt 90 nop 01 c0 add %eax, %eax - eb 1c jmp $0x10013246 + eb 1c jmp $0x10013575 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 83 e0 03 and $0x03, %eax - eb 1b jmp $0x10013266 + eb 1b jmp $0x10013595 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt 83 e0 03 and $0x03, %eax - eb 1a jmp $0x10013286 + eb 1a jmp $0x100135b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43643,7 +43802,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 19 jmp $0x100132a6 + eb 19 jmp $0x100135d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43652,7 +43811,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 18 jmp $0x100132c6 + eb 18 jmp $0x100135f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43662,7 +43821,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 17 jmp $0x100132e6 + eb 17 jmp $0x10013615 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43673,7 +43832,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 16 jmp $0x10013306 + eb 16 jmp $0x10013635 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43685,7 +43844,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 15 jmp $0x10013326 + eb 15 jmp $0x10013655 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43697,7 +43856,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 14 jmp $0x10013346 + eb 14 jmp $0x10013675 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -43710,7 +43869,7 @@ test_s: f4 hlt f4 hlt 83 e0 03 and $0x03, %eax - eb 13 jmp $0x10013366 + eb 13 jmp $0x10013695 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -44209,7 +44368,7 @@ test_s: f4 hlt 66 90 data16 nop 83 e0 03 and $0x03, %eax - eb 1b jmp $0x10013646 + eb 1b jmp $0x10013975 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44247,13 +44406,13 @@ test_s: f4 hlt 90 nop 83 e0 03 and $0x03, %eax - eb 1b jmp $0x10013686 + eb 1b jmp $0x100139b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f0 83 20 03 lock andl $0x03, (%eax) - eb 1a jmp $0x100136a6 + eb 1a jmp $0x100139d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44261,7 +44420,7 @@ test_s: 90 nop f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 19 jmp $0x100136c6 + eb 19 jmp $0x100139f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44269,7 +44428,7 @@ test_s: f4 hlt f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 18 jmp $0x100136e6 + eb 18 jmp $0x10013a15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44278,7 +44437,7 @@ test_s: f4 hlt f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 17 jmp $0x10013706 + eb 17 jmp $0x10013a35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44288,7 +44447,7 @@ test_s: f4 hlt f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 16 jmp $0x10013726 + eb 16 jmp $0x10013a55 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44299,7 +44458,7 @@ test_s: f4 hlt f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 15 jmp $0x10013746 + eb 15 jmp $0x10013a75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44310,7 +44469,7 @@ test_s: f4 hlt f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 14 jmp $0x10013766 + eb 14 jmp $0x10013a95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44322,7 +44481,7 @@ test_s: f4 hlt f4 hlt f0 83 20 03 lock andl $0x03, (%eax) - eb 13 jmp $0x10013786 + eb 13 jmp $0x10013ab5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -44799,7 +44958,7 @@ test_s: f4 hlt 8d 76 00 lea 0x00(%esi), %esi f0 83 20 03 lock andl $0x03, (%eax) - eb 1a jmp $0x10013a66 + eb 1a jmp $0x10013d95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44837,7 +44996,7 @@ test_s: f4 hlt 66 90 data16 nop f0 83 20 03 lock andl $0x03, (%eax) - eb 1a jmp $0x10013aa6 + eb 1a jmp $0x10013dd5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44876,21 +45035,21 @@ test_s: f4 hlt 90 nop f0 83 20 03 lock andl $0x03, (%eax) - eb 1a jmp $0x10013ae6 + eb 1a jmp $0x10013e15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 90 nop b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 19 jmp $0x10013b06 + eb 19 jmp $0x10013e35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi f4 hlt b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 18 jmp $0x10013b26 + eb 18 jmp $0x10013e55 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44898,7 +45057,7 @@ test_s: f4 hlt f4 hlt b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 17 jmp $0x10013b46 + eb 17 jmp $0x10013e75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44907,7 +45066,7 @@ test_s: f4 hlt f4 hlt b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 16 jmp $0x10013b66 + eb 16 jmp $0x10013e95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44917,7 +45076,7 @@ test_s: f4 hlt f4 hlt b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 15 jmp $0x10013b86 + eb 15 jmp $0x10013eb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44927,7 +45086,7 @@ test_s: f4 hlt f4 hlt b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 14 jmp $0x10013ba6 + eb 14 jmp $0x10013ed5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -44938,7 +45097,7 @@ test_s: f4 hlt f4 hlt b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 13 jmp $0x10013bc6 + eb 13 jmp $0x10013ef5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -45393,7 +45552,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 19 jmp $0x10013ea6 + eb 19 jmp $0x100141d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45429,7 +45588,7 @@ test_s: f4 hlt 8d 76 00 lea 0x00(%esi), %esi b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 19 jmp $0x10013ee6 + eb 19 jmp $0x10014215 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45466,7 +45625,7 @@ test_s: f4 hlt 66 90 data16 nop b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 19 jmp $0x10013f26 + eb 19 jmp $0x10014255 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45504,20 +45663,20 @@ test_s: f4 hlt 90 nop b8 dd cc bb aa mov $0xaabbccdd, %eax - eb 19 jmp $0x10013f66 + eb 19 jmp $0x10014295 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 18 jmp $0x10013f86 + eb 18 jmp $0x100142b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 76 00 lea 0x00(%esi), %esi f4 hlt 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 17 jmp $0x10013fa6 + eb 17 jmp $0x100142d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45525,7 +45684,7 @@ test_s: f4 hlt f4 hlt 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 16 jmp $0x10013fc6 + eb 16 jmp $0x100142f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45534,7 +45693,7 @@ test_s: f4 hlt f4 hlt 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 15 jmp $0x10013fe6 + eb 15 jmp $0x10014315 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45543,7 +45702,7 @@ test_s: f4 hlt f4 hlt 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 14 jmp $0x10014006 + eb 14 jmp $0x10014335 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -45553,7 +45712,7 @@ test_s: f4 hlt f4 hlt 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 13 jmp $0x10014026 + eb 13 jmp $0x10014355 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -45987,7 +46146,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi 90 nop 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 18 jmp $0x10014306 + eb 18 jmp $0x10014635 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46022,7 +46181,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 18 jmp $0x10014346 + eb 18 jmp $0x10014675 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46058,7 +46217,7 @@ test_s: f4 hlt 8d 76 00 lea 0x00(%esi), %esi 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 18 jmp $0x10014386 + eb 18 jmp $0x100146b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46095,7 +46254,7 @@ test_s: f4 hlt 66 90 data16 nop 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 18 jmp $0x100143c6 + eb 18 jmp $0x100146f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46133,20 +46292,20 @@ test_s: f4 hlt 90 nop 89 86 dd cc bb aa mov %eax, -0x55443323(%esi) - eb 18 jmp $0x10014406 + eb 18 jmp $0x10014735 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 76 00 lea 0x00(%esi), %esi c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x10014426 + eb 17 jmp $0x10014755 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 66 90 data16 nop f4 hlt c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 16 jmp $0x10014446 + eb 16 jmp $0x10014775 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46154,7 +46313,7 @@ test_s: f4 hlt f4 hlt c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 15 jmp $0x10014466 + eb 15 jmp $0x10014795 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46162,7 +46321,7 @@ test_s: f4 hlt f4 hlt c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 14 jmp $0x10014486 + eb 14 jmp $0x100147b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46171,7 +46330,7 @@ test_s: f4 hlt f4 hlt c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 13 jmp $0x100144a6 + eb 13 jmp $0x100147d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -46582,7 +46741,7 @@ test_s: f4 hlt 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x10014786 + eb 17 jmp $0x10014ab5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46617,7 +46776,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi 90 nop c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x100147c6 + eb 17 jmp $0x10014af5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46652,7 +46811,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x10014806 + eb 17 jmp $0x10014b35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46688,7 +46847,7 @@ test_s: f4 hlt 8d 76 00 lea 0x00(%esi), %esi c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x10014846 + eb 17 jmp $0x10014b75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46725,7 +46884,7 @@ test_s: f4 hlt 66 90 data16 nop c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x10014886 + eb 17 jmp $0x10014bb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46763,14 +46922,14 @@ test_s: f4 hlt 90 nop c7 46 7f dd cc bb aa movl $0xaabbccdd, 0x7f(%esi) - eb 17 jmp $0x100148c6 + eb 17 jmp $0x10014bf5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 66 90 data16 nop f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x100148e6 + eb 16 jmp $0x10014c15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46778,7 +46937,7 @@ test_s: f4 hlt f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 15 jmp $0x10014906 + eb 15 jmp $0x10014c35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46786,7 +46945,7 @@ test_s: f4 hlt f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 14 jmp $0x10014926 + eb 14 jmp $0x10014c55 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -46795,7 +46954,7 @@ test_s: f4 hlt f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 13 jmp $0x10014946 + eb 13 jmp $0x10014c75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -47206,7 +47365,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014c26 + eb 16 jmp $0x10014f55 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47240,7 +47399,7 @@ test_s: 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014c66 + eb 16 jmp $0x10014f95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47276,7 +47435,7 @@ test_s: 90 nop f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014ca6 + eb 16 jmp $0x10014fd5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47312,7 +47471,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014ce6 + eb 16 jmp $0x10015015 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47349,7 +47508,7 @@ test_s: 8d 76 00 lea 0x00(%esi), %esi f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014d26 + eb 16 jmp $0x10015055 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47387,7 +47546,7 @@ test_s: 66 90 data16 nop f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014d66 + eb 16 jmp $0x10015095 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47426,21 +47585,21 @@ test_s: 90 nop f0 81 46 10 dd cc bb lock addl $0xaabbccdd, 0x10(%esi) aa - eb 16 jmp $0x10014da6 + eb 16 jmp $0x100150d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 90 nop 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x10014dc6 + eb 15 jmp $0x100150f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 14 jmp $0x10014de6 + eb 14 jmp $0x10015115 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47448,7 +47607,7 @@ test_s: f4 hlt 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 13 jmp $0x10014e06 + eb 13 jmp $0x10015135 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -47838,7 +47997,7 @@ test_s: 90 nop 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x100150e6 + eb 15 jmp $0x10015415 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47870,7 +48029,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x10015126 + eb 15 jmp $0x10015455 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47903,7 +48062,7 @@ test_s: 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x10015166 + eb 15 jmp $0x10015495 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47938,7 +48097,7 @@ test_s: 90 nop 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x100151a6 + eb 15 jmp $0x100154d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -47973,7 +48132,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x100151e6 + eb 15 jmp $0x10015515 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48009,7 +48168,7 @@ test_s: 8d 76 00 lea 0x00(%esi), %esi 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x10015226 + eb 15 jmp $0x10015555 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48046,7 +48205,7 @@ test_s: 66 90 data16 nop 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x10015266 + eb 15 jmp $0x10015595 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48084,20 +48243,20 @@ test_s: 90 nop 64 f0 81 46 10 dd cc lock addl $0xaabbccdd, %fs:0x10(%esi) bb aa - eb 15 jmp $0x100152a6 + eb 15 jmp $0x100155d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x100152c6 + eb 14 jmp $0x100155f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 13 jmp $0x100152e6 + eb 13 jmp $0x10015615 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -48465,7 +48624,7 @@ test_s: 66 90 data16 nop c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x100155c6 + eb 14 jmp $0x100158f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48497,7 +48656,7 @@ test_s: 90 nop c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x10015606 + eb 14 jmp $0x10015935 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48529,7 +48688,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x10015646 + eb 14 jmp $0x10015975 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48562,7 +48721,7 @@ test_s: 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x10015686 + eb 14 jmp $0x100159b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48597,7 +48756,7 @@ test_s: 90 nop c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x100156c6 + eb 14 jmp $0x100159f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48632,7 +48791,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x10015706 + eb 14 jmp $0x10015a35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48668,7 +48827,7 @@ test_s: 8d 76 00 lea 0x00(%esi), %esi c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x10015746 + eb 14 jmp $0x10015a75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48705,7 +48864,7 @@ test_s: 66 90 data16 nop c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x10015786 + eb 14 jmp $0x10015ab5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -48743,13 +48902,13 @@ test_s: 90 nop c7 86 ff 07 00 00 dd movl $0xaabbccdd, 0x000007ff(%esi) cc bb aa - eb 14 jmp $0x100157c6 + eb 14 jmp $0x10015af5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x100157e6 + eb 13 jmp $0x10015b15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49095,7 +49254,7 @@ test_s: 8d 76 00 lea 0x00(%esi), %esi f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015ac6 + eb 13 jmp $0x10015df5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49127,7 +49286,7 @@ test_s: 66 90 data16 nop f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015b06 + eb 13 jmp $0x10015e35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49160,7 +49319,7 @@ test_s: 90 nop f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015b46 + eb 13 jmp $0x10015e75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49193,7 +49352,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015b86 + eb 13 jmp $0x10015eb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49227,7 +49386,7 @@ test_s: 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015bc6 + eb 13 jmp $0x10015ef5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49263,7 +49422,7 @@ test_s: 90 nop f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015c06 + eb 13 jmp $0x10015f35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49299,7 +49458,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015c46 + eb 13 jmp $0x10015f75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49336,7 +49495,7 @@ test_s: 8d 76 00 lea 0x00(%esi), %esi f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015c86 + eb 13 jmp $0x10015fb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49374,7 +49533,7 @@ test_s: 66 90 data16 nop f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015cc6 + eb 13 jmp $0x10015ff5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -49413,7 +49572,7 @@ test_s: 90 nop f0 81 86 ff 07 00 00 lock addl $0xaabbccdd, 0x000007ff(%esi) dd cc bb aa - eb 13 jmp $0x10015d06 + eb 13 jmp $0x10016035 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -50069,14 +50228,14 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - eb 05 jmp $0x1001626d + eb 05 jmp $0x1001659c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt - eb 05 jmp $0x1001628e + eb 05 jmp $0x100165bd b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50085,7 +50244,7 @@ test_s: 90 nop f4 hlt f4 hlt - eb 05 jmp $0x100162af + eb 05 jmp $0x100165de b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50094,7 +50253,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100162d0 + eb 05 jmp $0x100165ff b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50104,7 +50263,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100162f1 + eb 05 jmp $0x10016620 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50115,7 +50274,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016312 + eb 05 jmp $0x10016641 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50127,7 +50286,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016333 + eb 05 jmp $0x10016662 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50139,7 +50298,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016354 + eb 05 jmp $0x10016683 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50152,7 +50311,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016375 + eb 05 jmp $0x100166a4 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50167,7 +50326,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016396 + eb 05 jmp $0x100166c5 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50182,7 +50341,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100163b7 + eb 05 jmp $0x100166e6 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50198,7 +50357,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100163d8 + eb 05 jmp $0x10016707 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50215,7 +50374,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100163f9 + eb 05 jmp $0x10016728 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50233,7 +50392,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x1001641a + eb 05 jmp $0x10016749 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50251,7 +50410,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x1001643b + eb 05 jmp $0x1001676a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50270,7 +50429,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x1001645c + eb 05 jmp $0x1001678b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 74 26 00 lea 0x00(%esi), %esi @@ -50291,7 +50450,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x1001647d + eb 05 jmp $0x100167ac b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 74 26 00 lea 0x00(%esi), %esi @@ -50312,7 +50471,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x1001649e + eb 05 jmp $0x100167cd b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 76 00 lea 0x00(%esi), %esi @@ -50334,7 +50493,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100164bf + eb 05 jmp $0x100167ee b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -50357,7 +50516,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100164e0 + eb 05 jmp $0x1001680f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -50381,7 +50540,7 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016501 + eb 05 jmp $0x10016830 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -50405,11 +50564,11 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016522 + eb 05 jmp $0x10016851 b8 ef be ad de mov $0xdeadbeef, %eax 8d 74 26 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016546 + eb 19 jmp $0x10016875 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50436,11 +50595,11 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016563 + eb 05 jmp $0x10016892 b8 ef be ad de mov $0xdeadbeef, %eax 8d 76 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016586 + eb 19 jmp $0x100168b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50468,11 +50627,11 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100165a4 + eb 05 jmp $0x100168d3 b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x100165c6 + eb 19 jmp $0x100168f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50501,11 +50660,11 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x100165e5 + eb 05 jmp $0x10016914 b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016606 + eb 19 jmp $0x10016935 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50535,10 +50694,10 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x10016626 + eb 05 jmp $0x10016955 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016646 + eb 19 jmp $0x10016975 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50569,11 +50728,11 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 09 jmp $0x1001666b + eb 09 jmp $0x1001699a 8d 74 26 00 lea 0x00(%esi), %esi b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10016686 + eb 14 jmp $0x100169b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50604,11 +50763,11 @@ test_s: f4 hlt f4 hlt f4 hlt - eb 08 jmp $0x100166ab + eb 08 jmp $0x100169da 8d 76 00 lea 0x00(%esi), %esi b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x100166c6 + eb 14 jmp $0x100169f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50641,7 +50800,7 @@ test_s: f4 hlt f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi - eb 05 jmp $0x100166ed + eb 05 jmp $0x10016a1c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50677,7 +50836,7 @@ test_s: f4 hlt f4 hlt 8d 76 00 lea 0x00(%esi), %esi - eb 05 jmp $0x1001672d + eb 05 jmp $0x10016a5c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50714,7 +50873,7 @@ test_s: f4 hlt f4 hlt 66 90 data16 nop - eb 05 jmp $0x1001676d + eb 05 jmp $0x10016a9c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50752,20 +50911,20 @@ test_s: f4 hlt f4 hlt 90 nop - eb 05 jmp $0x100167ad + eb 05 jmp $0x10016adc b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - 74 05 jz $0x100167cd + 74 05 jz $0x10016afc b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt - 74 05 jz $0x100167ee + 74 05 jz $0x10016b1d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50774,7 +50933,7 @@ test_s: 90 nop f4 hlt f4 hlt - 74 05 jz $0x1001680f + 74 05 jz $0x10016b3e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50783,7 +50942,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016830 + 74 05 jz $0x10016b5f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50793,7 +50952,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016851 + 74 05 jz $0x10016b80 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50804,7 +50963,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016872 + 74 05 jz $0x10016ba1 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50816,7 +50975,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016893 + 74 05 jz $0x10016bc2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50828,7 +50987,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x100168b4 + 74 05 jz $0x10016be3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50841,7 +51000,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x100168d5 + 74 05 jz $0x10016c04 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50856,7 +51015,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x100168f6 + 74 05 jz $0x10016c25 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50871,7 +51030,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016917 + 74 05 jz $0x10016c46 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50887,7 +51046,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016938 + 74 05 jz $0x10016c67 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50904,7 +51063,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016959 + 74 05 jz $0x10016c88 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50922,7 +51081,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x1001697a + 74 05 jz $0x10016ca9 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50940,7 +51099,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x1001699b + 74 05 jz $0x10016cca b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -50959,7 +51118,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x100169bc + 74 05 jz $0x10016ceb b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 74 26 00 lea 0x00(%esi), %esi @@ -50980,7 +51139,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x100169dd + 74 05 jz $0x10016d0c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 74 26 00 lea 0x00(%esi), %esi @@ -51001,7 +51160,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x100169fe + 74 05 jz $0x10016d2d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 76 00 lea 0x00(%esi), %esi @@ -51023,7 +51182,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016a1f + 74 05 jz $0x10016d4e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -51046,7 +51205,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016a40 + 74 05 jz $0x10016d6f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -51070,7 +51229,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016a61 + 74 05 jz $0x10016d90 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -51094,11 +51253,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016a82 + 74 05 jz $0x10016db1 b8 ef be ad de mov $0xdeadbeef, %eax 8d 74 26 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016aa6 + eb 19 jmp $0x10016dd5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51125,11 +51284,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016ac3 + 74 05 jz $0x10016df2 b8 ef be ad de mov $0xdeadbeef, %eax 8d 76 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016ae6 + eb 19 jmp $0x10016e15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51157,11 +51316,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016b04 + 74 05 jz $0x10016e33 b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016b26 + eb 19 jmp $0x10016e55 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51190,11 +51349,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016b45 + 74 05 jz $0x10016e74 b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016b66 + eb 19 jmp $0x10016e95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51224,10 +51383,10 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x10016b86 + 74 05 jz $0x10016eb5 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016ba6 + eb 19 jmp $0x10016ed5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51258,11 +51417,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 74 09 jz $0x10016bcb + 74 09 jz $0x10016efa 8d 74 26 00 lea 0x00(%esi), %esi b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10016be6 + eb 14 jmp $0x10016f15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51295,7 +51454,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi 90 nop - 74 05 jz $0x10016c0d + 74 05 jz $0x10016f3c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51330,7 +51489,7 @@ test_s: f4 hlt f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi - 74 05 jz $0x10016c4d + 74 05 jz $0x10016f7c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51366,7 +51525,7 @@ test_s: f4 hlt f4 hlt 8d 76 00 lea 0x00(%esi), %esi - 74 05 jz $0x10016c8d + 74 05 jz $0x10016fbc b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51403,7 +51562,7 @@ test_s: f4 hlt f4 hlt 66 90 data16 nop - 74 05 jz $0x10016ccd + 74 05 jz $0x10016ffc b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51441,13 +51600,13 @@ test_s: f4 hlt f4 hlt 90 nop - 74 05 jz $0x10016d0d + 74 05 jz $0x1001703c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - 3e 74 05 jz $0x10016d2e + 3e 74 05 jz $0x1001705d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51455,7 +51614,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi 90 nop f4 hlt - 3e 74 05 jz $0x10016d4f + 3e 74 05 jz $0x1001707e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51463,7 +51622,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi f4 hlt f4 hlt - 3e 74 05 jz $0x10016d70 + 3e 74 05 jz $0x1001709f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51472,7 +51631,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016d91 + 3e 74 05 jz $0x100170c0 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51482,7 +51641,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016db2 + 3e 74 05 jz $0x100170e1 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51493,7 +51652,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016dd3 + 3e 74 05 jz $0x10017102 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51504,7 +51663,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016df4 + 3e 74 05 jz $0x10017123 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51516,7 +51675,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016e15 + 3e 74 05 jz $0x10017144 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51530,7 +51689,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016e36 + 3e 74 05 jz $0x10017165 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51544,7 +51703,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016e57 + 3e 74 05 jz $0x10017186 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51559,7 +51718,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016e78 + 3e 74 05 jz $0x100171a7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51575,7 +51734,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016e99 + 3e 74 05 jz $0x100171c8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51592,7 +51751,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016eba + 3e 74 05 jz $0x100171e9 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51609,7 +51768,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016edb + 3e 74 05 jz $0x1001720a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51627,7 +51786,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016efc + 3e 74 05 jz $0x1001722b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 74 26 00 lea 0x00(%esi), %esi @@ -51647,7 +51806,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016f1d + 3e 74 05 jz $0x1001724c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 74 26 00 lea 0x00(%esi), %esi @@ -51667,7 +51826,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016f3e + 3e 74 05 jz $0x1001726d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d 76 00 lea 0x00(%esi), %esi @@ -51688,7 +51847,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016f5f + 3e 74 05 jz $0x1001728e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -51710,7 +51869,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016f80 + 3e 74 05 jz $0x100172af b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -51733,7 +51892,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016fa1 + 3e 74 05 jz $0x100172d0 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -51756,11 +51915,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10016fc2 + 3e 74 05 jz $0x100172f1 b8 ef be ad de mov $0xdeadbeef, %eax 8d 74 26 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10016fe6 + eb 19 jmp $0x10017315 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51786,11 +51945,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10017003 + 3e 74 05 jz $0x10017332 b8 ef be ad de mov $0xdeadbeef, %eax 8d 76 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10017026 + eb 19 jmp $0x10017355 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51817,11 +51976,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10017044 + 3e 74 05 jz $0x10017373 b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10017066 + eb 19 jmp $0x10017395 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51849,11 +52008,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x10017085 + 3e 74 05 jz $0x100173b4 b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x100170a6 + eb 19 jmp $0x100173d5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51882,10 +52041,10 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x100170c6 + 3e 74 05 jz $0x100173f5 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x100170e6 + eb 19 jmp $0x10017415 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51915,11 +52074,11 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 74 09 jz $0x1001710b + 3e 74 09 jz $0x1001743a 8d 74 26 00 lea 0x00(%esi), %esi b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10017126 + eb 14 jmp $0x10017455 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51950,7 +52109,7 @@ test_s: f4 hlt f4 hlt 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - 3e 74 05 jz $0x1001714e + 3e 74 05 jz $0x1001747d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -51986,7 +52145,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi 90 nop - 3e 74 05 jz $0x1001718e + 3e 74 05 jz $0x100174bd b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -52022,7 +52181,7 @@ test_s: f4 hlt f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi - 3e 74 05 jz $0x100171ce + 3e 74 05 jz $0x100174fd b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -52059,7 +52218,7 @@ test_s: f4 hlt f4 hlt 8d 76 00 lea 0x00(%esi), %esi - 3e 74 05 jz $0x1001720e + 3e 74 05 jz $0x1001753d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -52097,7 +52256,7 @@ test_s: f4 hlt f4 hlt 66 90 data16 nop - 3e 74 05 jz $0x1001724e + 3e 74 05 jz $0x1001757d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -52136,14 +52295,14 @@ test_s: f4 hlt f4 hlt 90 nop - 3e 74 05 jz $0x1001728e + 3e 74 05 jz $0x100175bd b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 90 nop - e9 80 00 00 00 jmp $0x1001732b + e9 80 00 00 00 jmp $0x1001765a 40 inc %eax 40 inc %eax 40 inc %eax @@ -52273,12 +52432,12 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10017346 + eb 14 jmp $0x10017675 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt - e9 80 00 00 00 jmp $0x100173cc + e9 80 00 00 00 jmp $0x100176fb 40 inc %eax 40 inc %eax 40 inc %eax @@ -52408,14 +52567,14 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x100173e6 + eb 13 jmp $0x10017715 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 90 nop f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x1001746d + e9 80 00 00 00 jmp $0x1001779c 40 inc %eax 40 inc %eax 40 inc %eax @@ -52551,7 +52710,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x1001750e + e9 80 00 00 00 jmp $0x1001783d 40 inc %eax 40 inc %eax 40 inc %eax @@ -52689,7 +52848,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x100175af + e9 80 00 00 00 jmp $0x100178de 40 inc %eax 40 inc %eax 40 inc %eax @@ -52827,7 +52986,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017650 + e9 80 00 00 00 jmp $0x1001797f 40 inc %eax 40 inc %eax 40 inc %eax @@ -52966,7 +53125,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x100176f1 + e9 80 00 00 00 jmp $0x10017a20 40 inc %eax 40 inc %eax 40 inc %eax @@ -53106,7 +53265,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017792 + e9 80 00 00 00 jmp $0x10017ac1 40 inc %eax 40 inc %eax 40 inc %eax @@ -53247,7 +53406,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017833 + e9 80 00 00 00 jmp $0x10017b62 40 inc %eax 40 inc %eax 40 inc %eax @@ -53388,7 +53547,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x100178d4 + e9 80 00 00 00 jmp $0x10017c03 40 inc %eax 40 inc %eax 40 inc %eax @@ -53530,7 +53689,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017975 + e9 80 00 00 00 jmp $0x10017ca4 40 inc %eax 40 inc %eax 40 inc %eax @@ -53674,7 +53833,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017a16 + e9 80 00 00 00 jmp $0x10017d45 40 inc %eax 40 inc %eax 40 inc %eax @@ -53818,7 +53977,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017ab7 + e9 80 00 00 00 jmp $0x10017de6 40 inc %eax 40 inc %eax 40 inc %eax @@ -53963,7 +54122,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017b58 + e9 80 00 00 00 jmp $0x10017e87 40 inc %eax 40 inc %eax 40 inc %eax @@ -54109,7 +54268,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017bf9 + e9 80 00 00 00 jmp $0x10017f28 40 inc %eax 40 inc %eax 40 inc %eax @@ -54256,7 +54415,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017c9a + e9 80 00 00 00 jmp $0x10017fc9 40 inc %eax 40 inc %eax 40 inc %eax @@ -54403,7 +54562,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017d3b + e9 80 00 00 00 jmp $0x1001806a 40 inc %eax 40 inc %eax 40 inc %eax @@ -54551,7 +54710,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017ddc + e9 80 00 00 00 jmp $0x1001810b 40 inc %eax 40 inc %eax 40 inc %eax @@ -54701,7 +54860,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017e7d + e9 80 00 00 00 jmp $0x100181ac 40 inc %eax 40 inc %eax 40 inc %eax @@ -54851,7 +55010,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017f1e + e9 80 00 00 00 jmp $0x1001824d 40 inc %eax 40 inc %eax 40 inc %eax @@ -55002,7 +55161,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10017fbf + e9 80 00 00 00 jmp $0x100182ee 40 inc %eax 40 inc %eax 40 inc %eax @@ -55154,7 +55313,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10018060 + e9 80 00 00 00 jmp $0x1001838f 40 inc %eax 40 inc %eax 40 inc %eax @@ -55307,7 +55466,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10018101 + e9 80 00 00 00 jmp $0x10018430 40 inc %eax 40 inc %eax 40 inc %eax @@ -55460,7 +55619,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x100181a2 + e9 80 00 00 00 jmp $0x100184d1 40 inc %eax 40 inc %eax 40 inc %eax @@ -55591,7 +55750,7 @@ test_s: 40 inc %eax 8d 74 26 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x100181c6 + eb 19 jmp $0x100184f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -55620,7 +55779,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10018263 + e9 80 00 00 00 jmp $0x10018592 40 inc %eax 40 inc %eax 40 inc %eax @@ -55751,7 +55910,7 @@ test_s: 40 inc %eax 8d 76 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10018286 + eb 19 jmp $0x100185b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -55781,7 +55940,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x10018324 + e9 80 00 00 00 jmp $0x10018653 40 inc %eax 40 inc %eax 40 inc %eax @@ -55912,7 +56071,7 @@ test_s: 40 inc %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10018346 + eb 19 jmp $0x10018675 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -55943,7 +56102,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x100183e5 + e9 80 00 00 00 jmp $0x10018714 40 inc %eax 40 inc %eax 40 inc %eax @@ -56074,7 +56233,7 @@ test_s: 40 inc %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10018406 + eb 19 jmp $0x10018735 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -56106,7 +56265,7 @@ test_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x100184a6 + e9 80 00 00 00 jmp $0x100187d5 40 inc %eax 40 inc %eax 40 inc %eax @@ -56236,7 +56395,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x100184c6 + eb 19 jmp $0x100187f5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -56270,7 +56429,7 @@ test_s: f4 hlt f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi - e9 80 00 00 00 jmp $0x1001856b + e9 80 00 00 00 jmp $0x1001889a 40 inc %eax 40 inc %eax 40 inc %eax @@ -56400,7 +56559,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10018586 + eb 14 jmp $0x100188b5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -56434,7 +56593,7 @@ test_s: f4 hlt f4 hlt 8d 76 00 lea 0x00(%esi), %esi - e9 80 00 00 00 jmp $0x1001862b + e9 80 00 00 00 jmp $0x1001895a 40 inc %eax 40 inc %eax 40 inc %eax @@ -56564,7 +56723,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10018646 + eb 14 jmp $0x10018975 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -56599,7 +56758,7 @@ test_s: f4 hlt f4 hlt 66 90 data16 nop - e9 80 00 00 00 jmp $0x100186eb + e9 80 00 00 00 jmp $0x10018a1a 40 inc %eax 40 inc %eax 40 inc %eax @@ -56729,7 +56888,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x10018706 + eb 14 jmp $0x10018a35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -56765,7 +56924,7 @@ test_s: f4 hlt f4 hlt 90 nop - e9 80 00 00 00 jmp $0x100187ab + e9 80 00 00 00 jmp $0x10018ada 40 inc %eax 40 inc %eax 40 inc %eax @@ -56895,11 +57054,11 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 14 jmp $0x100187c6 + eb 14 jmp $0x10018af5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - 0f 84 80 00 00 00 jz $0x1001884c + 0f 84 80 00 00 00 jz $0x10018b7b 40 inc %eax 40 inc %eax 40 inc %eax @@ -57029,13 +57188,13 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x10018866 + eb 13 jmp $0x10018b95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 90 nop f4 hlt - 0f 84 80 00 00 00 jz $0x100188ed + 0f 84 80 00 00 00 jz $0x10018c1c 40 inc %eax 40 inc %eax 40 inc %eax @@ -57170,7 +57329,7 @@ test_s: 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x1001898e + 0f 84 80 00 00 00 jz $0x10018cbd 40 inc %eax 40 inc %eax 40 inc %eax @@ -57307,7 +57466,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018a2f + 0f 84 80 00 00 00 jz $0x10018d5e 40 inc %eax 40 inc %eax 40 inc %eax @@ -57444,7 +57603,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018ad0 + 0f 84 80 00 00 00 jz $0x10018dff 40 inc %eax 40 inc %eax 40 inc %eax @@ -57582,7 +57741,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018b71 + 0f 84 80 00 00 00 jz $0x10018ea0 40 inc %eax 40 inc %eax 40 inc %eax @@ -57721,7 +57880,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018c12 + 0f 84 80 00 00 00 jz $0x10018f41 40 inc %eax 40 inc %eax 40 inc %eax @@ -57861,7 +58020,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018cb3 + 0f 84 80 00 00 00 jz $0x10018fe2 40 inc %eax 40 inc %eax 40 inc %eax @@ -58001,7 +58160,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018d54 + 0f 84 80 00 00 00 jz $0x10019083 40 inc %eax 40 inc %eax 40 inc %eax @@ -58142,7 +58301,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018df5 + 0f 84 80 00 00 00 jz $0x10019124 40 inc %eax 40 inc %eax 40 inc %eax @@ -58285,7 +58444,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018e96 + 0f 84 80 00 00 00 jz $0x100191c5 40 inc %eax 40 inc %eax 40 inc %eax @@ -58428,7 +58587,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018f37 + 0f 84 80 00 00 00 jz $0x10019266 40 inc %eax 40 inc %eax 40 inc %eax @@ -58572,7 +58731,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10018fd8 + 0f 84 80 00 00 00 jz $0x10019307 40 inc %eax 40 inc %eax 40 inc %eax @@ -58717,7 +58876,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10019079 + 0f 84 80 00 00 00 jz $0x100193a8 40 inc %eax 40 inc %eax 40 inc %eax @@ -58863,7 +59022,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x1001911a + 0f 84 80 00 00 00 jz $0x10019449 40 inc %eax 40 inc %eax 40 inc %eax @@ -59009,7 +59168,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x100191bb + 0f 84 80 00 00 00 jz $0x100194ea 40 inc %eax 40 inc %eax 40 inc %eax @@ -59156,7 +59315,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x1001925c + 0f 84 80 00 00 00 jz $0x1001958b 40 inc %eax 40 inc %eax 40 inc %eax @@ -59305,7 +59464,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x100192fd + 0f 84 80 00 00 00 jz $0x1001962c 40 inc %eax 40 inc %eax 40 inc %eax @@ -59454,7 +59613,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x1001939e + 0f 84 80 00 00 00 jz $0x100196cd 40 inc %eax 40 inc %eax 40 inc %eax @@ -59604,7 +59763,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x1001943f + 0f 84 80 00 00 00 jz $0x1001976e 40 inc %eax 40 inc %eax 40 inc %eax @@ -59755,7 +59914,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x100194e0 + 0f 84 80 00 00 00 jz $0x1001980f 40 inc %eax 40 inc %eax 40 inc %eax @@ -59907,7 +60066,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10019581 + 0f 84 80 00 00 00 jz $0x100198b0 40 inc %eax 40 inc %eax 40 inc %eax @@ -60059,7 +60218,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10019622 + 0f 84 80 00 00 00 jz $0x10019951 40 inc %eax 40 inc %eax 40 inc %eax @@ -60190,7 +60349,7 @@ test_s: 40 inc %eax 8d 74 26 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10019646 + eb 19 jmp $0x10019975 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -60218,7 +60377,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x100196e3 + 0f 84 80 00 00 00 jz $0x10019a12 40 inc %eax 40 inc %eax 40 inc %eax @@ -60349,7 +60508,7 @@ test_s: 40 inc %eax 8d 76 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10019706 + eb 19 jmp $0x10019a35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -60378,7 +60537,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x100197a4 + 0f 84 80 00 00 00 jz $0x10019ad3 40 inc %eax 40 inc %eax 40 inc %eax @@ -60509,7 +60668,7 @@ test_s: 40 inc %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x100197c6 + eb 19 jmp $0x10019af5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -60539,7 +60698,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10019865 + 0f 84 80 00 00 00 jz $0x10019b94 40 inc %eax 40 inc %eax 40 inc %eax @@ -60670,7 +60829,7 @@ test_s: 40 inc %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10019886 + eb 19 jmp $0x10019bb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -60701,7 +60860,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x10019926 + 0f 84 80 00 00 00 jz $0x10019c55 40 inc %eax 40 inc %eax 40 inc %eax @@ -60831,7 +60990,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x10019946 + eb 19 jmp $0x10019c75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -60865,7 +61024,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi 90 nop - 0f 84 80 00 00 00 jz $0x100199ec + 0f 84 80 00 00 00 jz $0x10019d1b 40 inc %eax 40 inc %eax 40 inc %eax @@ -60995,7 +61154,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x10019a06 + eb 13 jmp $0x10019d35 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -61029,7 +61188,7 @@ test_s: f4 hlt f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi - 0f 84 80 00 00 00 jz $0x10019aac + 0f 84 80 00 00 00 jz $0x10019ddb 40 inc %eax 40 inc %eax 40 inc %eax @@ -61159,7 +61318,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x10019ac6 + eb 13 jmp $0x10019df5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -61194,7 +61353,7 @@ test_s: f4 hlt f4 hlt 8d 76 00 lea 0x00(%esi), %esi - 0f 84 80 00 00 00 jz $0x10019b6c + 0f 84 80 00 00 00 jz $0x10019e9b 40 inc %eax 40 inc %eax 40 inc %eax @@ -61324,7 +61483,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x10019b86 + eb 13 jmp $0x10019eb5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -61360,7 +61519,7 @@ test_s: f4 hlt f4 hlt 66 90 data16 nop - 0f 84 80 00 00 00 jz $0x10019c2c + 0f 84 80 00 00 00 jz $0x10019f5b 40 inc %eax 40 inc %eax 40 inc %eax @@ -61490,7 +61649,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x10019c46 + eb 13 jmp $0x10019f75 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -61527,7 +61686,7 @@ test_s: f4 hlt f4 hlt 90 nop - 0f 84 80 00 00 00 jz $0x10019cec + 0f 84 80 00 00 00 jz $0x1001a01b 40 inc %eax 40 inc %eax 40 inc %eax @@ -61657,12 +61816,12 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 13 jmp $0x10019d06 + eb 13 jmp $0x1001a035 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 90 nop - 3e 0f 84 80 00 00 00 jz $0x10019d8d + 3e 0f 84 80 00 00 00 jz $0x1001a0bc 40 inc %eax 40 inc %eax 40 inc %eax @@ -61796,7 +61955,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi f4 hlt - 3e 0f 84 80 00 00 00 jz $0x10019e2e + 3e 0f 84 80 00 00 00 jz $0x1001a15d 40 inc %eax 40 inc %eax 40 inc %eax @@ -61932,7 +62091,7 @@ test_s: 90 nop f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x10019ecf + 3e 0f 84 80 00 00 00 jz $0x1001a1fe 40 inc %eax 40 inc %eax 40 inc %eax @@ -62068,7 +62227,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x10019f70 + 3e 0f 84 80 00 00 00 jz $0x1001a29f 40 inc %eax 40 inc %eax 40 inc %eax @@ -62205,7 +62364,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a011 + 3e 0f 84 80 00 00 00 jz $0x1001a340 40 inc %eax 40 inc %eax 40 inc %eax @@ -62343,7 +62502,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a0b2 + 3e 0f 84 80 00 00 00 jz $0x1001a3e1 40 inc %eax 40 inc %eax 40 inc %eax @@ -62482,7 +62641,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a153 + 3e 0f 84 80 00 00 00 jz $0x1001a482 40 inc %eax 40 inc %eax 40 inc %eax @@ -62621,7 +62780,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a1f4 + 3e 0f 84 80 00 00 00 jz $0x1001a523 40 inc %eax 40 inc %eax 40 inc %eax @@ -62761,7 +62920,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a295 + 3e 0f 84 80 00 00 00 jz $0x1001a5c4 40 inc %eax 40 inc %eax 40 inc %eax @@ -62903,7 +63062,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a336 + 3e 0f 84 80 00 00 00 jz $0x1001a665 40 inc %eax 40 inc %eax 40 inc %eax @@ -63045,7 +63204,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a3d7 + 3e 0f 84 80 00 00 00 jz $0x1001a706 40 inc %eax 40 inc %eax 40 inc %eax @@ -63188,7 +63347,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a478 + 3e 0f 84 80 00 00 00 jz $0x1001a7a7 40 inc %eax 40 inc %eax 40 inc %eax @@ -63332,7 +63491,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a519 + 3e 0f 84 80 00 00 00 jz $0x1001a848 40 inc %eax 40 inc %eax 40 inc %eax @@ -63477,7 +63636,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a5ba + 3e 0f 84 80 00 00 00 jz $0x1001a8e9 40 inc %eax 40 inc %eax 40 inc %eax @@ -63622,7 +63781,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a65b + 3e 0f 84 80 00 00 00 jz $0x1001a98a 40 inc %eax 40 inc %eax 40 inc %eax @@ -63768,7 +63927,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a6fc + 3e 0f 84 80 00 00 00 jz $0x1001aa2b 40 inc %eax 40 inc %eax 40 inc %eax @@ -63916,7 +64075,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a79d + 3e 0f 84 80 00 00 00 jz $0x1001aacc 40 inc %eax 40 inc %eax 40 inc %eax @@ -64064,7 +64223,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a83e + 3e 0f 84 80 00 00 00 jz $0x1001ab6d 40 inc %eax 40 inc %eax 40 inc %eax @@ -64213,7 +64372,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a8df + 3e 0f 84 80 00 00 00 jz $0x1001ac0e 40 inc %eax 40 inc %eax 40 inc %eax @@ -64363,7 +64522,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001a980 + 3e 0f 84 80 00 00 00 jz $0x1001acaf 40 inc %eax 40 inc %eax 40 inc %eax @@ -64514,7 +64673,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001aa21 + 3e 0f 84 80 00 00 00 jz $0x1001ad50 40 inc %eax 40 inc %eax 40 inc %eax @@ -64665,7 +64824,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001aac2 + 3e 0f 84 80 00 00 00 jz $0x1001adf1 40 inc %eax 40 inc %eax 40 inc %eax @@ -64796,7 +64955,7 @@ test_s: 40 inc %eax 8d 74 26 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x1001aae6 + eb 19 jmp $0x1001ae15 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -64823,7 +64982,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001ab83 + 3e 0f 84 80 00 00 00 jz $0x1001aeb2 40 inc %eax 40 inc %eax 40 inc %eax @@ -64954,7 +65113,7 @@ test_s: 40 inc %eax 8d 76 00 lea 0x00(%esi), %esi b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x1001aba6 + eb 19 jmp $0x1001aed5 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -64982,7 +65141,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001ac44 + 3e 0f 84 80 00 00 00 jz $0x1001af73 40 inc %eax 40 inc %eax 40 inc %eax @@ -65113,7 +65272,7 @@ test_s: 40 inc %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x1001ac66 + eb 19 jmp $0x1001af95 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -65142,7 +65301,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001ad05 + 3e 0f 84 80 00 00 00 jz $0x1001b034 40 inc %eax 40 inc %eax 40 inc %eax @@ -65273,7 +65432,7 @@ test_s: 40 inc %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x1001ad26 + eb 19 jmp $0x1001b055 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -65303,7 +65462,7 @@ test_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x1001adc6 + 3e 0f 84 80 00 00 00 jz $0x1001b0f5 40 inc %eax 40 inc %eax 40 inc %eax @@ -65433,7 +65592,7 @@ test_s: 40 inc %eax 40 inc %eax b8 0b b0 00 00 mov $0x0000b00b, %eax - eb 19 jmp $0x1001ade6 + eb 19 jmp $0x1001b115 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -65465,7 +65624,7 @@ test_s: f4 hlt f4 hlt 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - 3e 0f 84 80 00 00 00 jz $0x1001ae8d + 3e 0f 84 80 00 00 00 jz $0x1001b1bc 40 inc %eax 40 inc %eax 40 inc %eax @@ -65627,7 +65786,7 @@ test_s: f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi 90 nop - 3e 0f 84 80 00 00 00 jz $0x1001af4d + 3e 0f 84 80 00 00 00 jz $0x1001b27c 40 inc %eax 40 inc %eax 40 inc %eax @@ -65789,7 +65948,7 @@ test_s: f4 hlt f4 hlt 8d 74 26 00 lea 0x00(%esi), %esi - 3e 0f 84 80 00 00 00 jz $0x1001b00d + 3e 0f 84 80 00 00 00 jz $0x1001b33c 40 inc %eax 40 inc %eax 40 inc %eax @@ -65952,7 +66111,7 @@ test_s: f4 hlt f4 hlt 8d 76 00 lea 0x00(%esi), %esi - 3e 0f 84 80 00 00 00 jz $0x1001b0cd + 3e 0f 84 80 00 00 00 jz $0x1001b3fc 40 inc %eax 40 inc %eax 40 inc %eax @@ -66116,7 +66275,7 @@ test_s: f4 hlt f4 hlt 66 90 data16 nop - 3e 0f 84 80 00 00 00 jz $0x1001b18d + 3e 0f 84 80 00 00 00 jz $0x1001b4bc 40 inc %eax 40 inc %eax 40 inc %eax @@ -66281,7 +66440,7 @@ test_s: f4 hlt f4 hlt 90 nop - 3e 0f 84 80 00 00 00 jz $0x1001b24d + 3e 0f 84 80 00 00 00 jz $0x1001b57c 40 inc %eax 40 inc %eax 40 inc %eax @@ -66694,9 +66853,9 @@ test_s: 8b 98 ff 0f 00 00 mov 0x00000fff(%eax), %ebx 8b 98 00 00 00 00 mov 0x00000000(%eax), %ebx 8b 98 03 00 00 00 mov 0x00000003(%eax), %ebx - eb 07 jmp $0x1001b53b - eb 05 jmp $0x1001b53b - e9 00 00 00 00 jmp $0x1001b53b + eb 07 jmp $0x1001b86a + eb 05 jmp $0x1001b86a + e9 00 00 00 00 jmp $0x1001b86a 89 18 mov %ebx, (%eax) 89 58 03 mov %ebx, 0x03(%eax) 89 98 ff 0f 00 00 mov %ebx, 0x00000fff(%eax) @@ -67670,8 +67829,8 @@ test_s: 90 nop 90 nop 90 nop - eb fe jmp $0x1001c521 - e9 fc ff ff ff jmp $0x1001c524 + eb fe jmp $0x1001c850 + e9 fc ff ff ff jmp $0x1001c853 ff 25 00 00 00 00 jmp 0x00 ff 25 00 00 00 00 jmp 0x00 ff e7 jmp %edi @@ -67683,8 +67842,8 @@ test_s: ff 2d 00 00 00 00 ljmp 0x00 ff 2d 00 00 00 00 ljmp 0x00 ea 00 00 00 00 34 12 ljmp 0x1234:0x00000000 - e8 bf ff ff ff call $0x1001c521 - e8 fc ff ff ff call $0x1001c563 + e8 bf ff ff ff call $0x1001c850 + e8 fc ff ff ff call $0x1001c892 ff 15 00 00 00 00 call 0x00 ff 15 00 00 00 00 call 0x00 ff d7 call %edi @@ -67817,7 +67976,7 @@ test_s: d7 xlatb d7 xlatb dd d8 fstp %st0, %st0 - e2 fc loop $0x1001c6b6 + e2 fc loop $0x1001c9e5 f6 f1 div %cl, %ax 66 f7 f1 data16 div %cx, %dx, %ax f7 f1 div %ecx, %edx, %eax @@ -67950,7 +68109,7 @@ test_s: 8d 9b 00 00 00 00 lea 0x00000000(%ebx), %ebx 8b 83 00 00 00 00 mov 0x00000000(%ebx), %eax 8b 9b 00 00 00 00 mov 0x00000000(%ebx), %ebx - e0 00 loopne $0x1001c8a5 + e0 00 loopne $0x1001cbd4 00 00 add %al, (%eax) 00 00 add %al, (%eax) 00 00 add %al, (%eax) @@ -69713,7 +69872,7 @@ test_s: 89 c0 mov %eax, %eax 4c dec %esp 89 c0 mov %eax, %eax - eb fe jmp $0x1001e5e8 + eb fe jmp $0x1001e917 90 nop 90 nop 90 nop @@ -69834,22 +69993,22 @@ test_s: 6d insd 6e outsb 6f outsd - 70 90 jo $0x1001e6d9 - 71 90 jno $0x1001e6db - 72 90 jb $0x1001e6dd - 73 90 jnb $0x1001e6df - 74 90 jz $0x1001e6e1 - 75 90 jnz $0x1001e6e3 - 76 90 jbe $0x1001e6e5 - 77 90 jnbe $0x1001e6e7 - 78 90 js $0x1001e6e9 - 79 90 jns $0x1001e6eb - 7a 90 jp $0x1001e6ed - 7b 90 jnp $0x1001e6ef - 7c 90 jl $0x1001e6f1 - 7d 90 jnl $0x1001e6f3 - 7e 90 jle $0x1001e6f5 - 7f 90 jnle $0x1001e6f7 + 70 90 jo $0x1001ea08 + 71 90 jno $0x1001ea0a + 72 90 jb $0x1001ea0c + 73 90 jnb $0x1001ea0e + 74 90 jz $0x1001ea10 + 75 90 jnz $0x1001ea12 + 76 90 jbe $0x1001ea14 + 77 90 jnbe $0x1001ea16 + 78 90 js $0x1001ea18 + 79 90 jns $0x1001ea1a + 7a 90 jp $0x1001ea1c + 7b 90 jnp $0x1001ea1e + 7c 90 jl $0x1001ea20 + 7d 90 jnl $0x1001ea22 + 7e 90 jle $0x1001ea24 + 7f 90 jnle $0x1001ea26 80 90 90 90 90 90 90 adcb $0x90, -0x6f6f6f70(%eax) 81 90 90 90 90 90 90 adcl $0x90909090, -0x6f6f6f70(%eax) 90 90 90 @@ -69948,18 +70107,18 @@ test_s: dd 90 90 90 90 90 fst -0x6f6f6f70(%eax) de 90 90 90 90 90 ficom -0x6f6f6f70(%eax) df 90 90 90 90 90 fist -0x6f6f6f70(%eax) - e0 90 loopne $0x1001e85a - e1 90 loope $0x1001e85c - e2 90 loop $0x1001e85e - e3 90 jecxz $0x1001e860 + e0 90 loopne $0x1001eb89 + e1 90 loope $0x1001eb8b + e2 90 loop $0x1001eb8d + e3 90 jecxz $0x1001eb8f e4 90 in $0x90, %al e5 90 in $0x90, %eax e6 90 out $0x90, %al e7 90 out $0x90, %eax - e8 90 90 90 90 call $0xa092796d - e9 90 90 90 90 jmp $0xa0927972 + e8 90 90 90 90 call $0xa0927c9c + e9 90 90 90 90 jmp $0xa0927ca1 ea 90 90 90 90 90 90 ljmp 0x9090:0x90909090 - eb 90 jmp $0x1001e87b + eb 90 jmp $0x1001ebaa ec in %dx ed in %dx, %eax ee out %al, %dx @@ -70030,22 +70189,22 @@ test_s: 0f 77 emms 0f 7e 90 90 90 90 90 movd %mm2, -0x6f6f6f70(%eax) 0f 7f 90 90 90 90 90 movq %mm2, -0x6f6f6f70(%eax) - 0f 80 90 90 90 90 jo $0xa0927ada - 0f 81 90 90 90 90 jno $0xa0927ae0 - 0f 82 90 90 90 90 jb $0xa0927ae6 - 0f 83 90 90 90 90 jnb $0xa0927aec - 0f 84 90 90 90 90 jz $0xa0927af2 - 0f 85 90 90 90 90 jnz $0xa0927af8 - 0f 86 90 90 90 90 jbe $0xa0927afe - 0f 87 90 90 90 90 jnbe $0xa0927b04 - 0f 88 90 90 90 90 js $0xa0927b0a - 0f 89 90 90 90 90 jns $0xa0927b10 - 0f 8a 90 90 90 90 jp $0xa0927b16 - 0f 8b 90 90 90 90 jnp $0xa0927b1c - 0f 8c 90 90 90 90 jl $0xa0927b22 - 0f 8d 90 90 90 90 jnl $0xa0927b28 - 0f 8e 90 90 90 90 jle $0xa0927b2e - 0f 8f 90 90 90 90 jnle $0xa0927b34 + 0f 80 90 90 90 90 jo $0xa0927e09 + 0f 81 90 90 90 90 jno $0xa0927e0f + 0f 82 90 90 90 90 jb $0xa0927e15 + 0f 83 90 90 90 90 jnb $0xa0927e1b + 0f 84 90 90 90 90 jz $0xa0927e21 + 0f 85 90 90 90 90 jnz $0xa0927e27 + 0f 86 90 90 90 90 jbe $0xa0927e2d + 0f 87 90 90 90 90 jnbe $0xa0927e33 + 0f 88 90 90 90 90 js $0xa0927e39 + 0f 89 90 90 90 90 jns $0xa0927e3f + 0f 8a 90 90 90 90 jp $0xa0927e45 + 0f 8b 90 90 90 90 jnp $0xa0927e4b + 0f 8c 90 90 90 90 jl $0xa0927e51 + 0f 8d 90 90 90 90 jnl $0xa0927e57 + 0f 8e 90 90 90 90 jle $0xa0927e5d + 0f 8f 90 90 90 90 jnle $0xa0927e63 0f 90 80 90 90 90 90 seto -0x6f6f6f70(%eax) 0f 91 80 90 90 90 90 setno -0x6f6f6f70(%eax) 0f 92 80 90 90 90 90 setb -0x6f6f6f70(%eax) @@ -70262,7 +70421,7 @@ test_s: 66 d3 90 90 90 90 90 data16 rcl %cl, -0x6f6f6f70(%eax) 66 e5 90 data16 in $0x90, %ax 66 e7 90 data16 out $0x90, %ax - 66 e8 8f 90 data16 call $0x00007f16 + 66 e8 8f 90 data16 call $0x00008245 66 ea 90 90 90 90 data16 ljmp 0x9090:0x00009090 66 ed data16 in %dx, %ax 66 ef data16 out %ax, %dx @@ -70346,15 +70505,15 @@ test_s: 90 c3 ret c3 ret - e8 f9 ff ff ff call $0x1001efcd - e8 f5 ff ff ff call $0x1001efce + e8 f9 ff ff ff call $0x1001f2fc + e8 f5 ff ff ff call $0x1001f2fd dd 1c d0 fstp (%eax,%edx,8) b9 00 00 00 00 mov $0x00000000, %ecx 88 04 16 mov %al, (%esi,%edx) 88 04 32 mov %al, (%edx,%esi) 88 04 56 mov %al, (%esi,%edx,2) 88 04 56 mov %al, (%esi,%edx,2) - eb 0c jmp $0x1001effb + eb 0c jmp $0x1001f32a 6c insb 66 0f c1 90 90 90 90 data16 xaddw -0x6f6f6f70(%eax), %dx 90 @@ -70369,8 +70528,8 @@ test_s: 2f das ea 90 90 90 90 90 90 ljmp 0x9090:0x90909090 66 a5 data16 movsw - 70 90 jo $0x1001efb2 - 75 fe jnz $0x1001f022 + 70 90 jo $0x1001f2e1 + 75 fe jnz $0x1001f351 0f 6f 35 28 00 00 00 movq 0x28, %mm6 03 3c c3 add (%ebx,%eax,8), %edi 0f 6e 44 c3 04 movd 0x04(%ebx,%eax,8), %mm0 @@ -70388,7 +70547,7 @@ test_s: ff e0 jmp %eax ff 20 jmp (%eax) ff 25 db 09 00 00 jmp 0x000009db - e9 5b ff ff ff jmp $0x1001efcf + e9 5b ff ff ff jmp $0x1001f2fe b8 12 00 00 00 mov $0x00000012, %eax 25 ff ff fb ff and $0xfffbffff, %eax 25 ff ff fb ff and $0xfffbffff, %eax @@ -70780,8 +70939,8 @@ test_s: 90 nop 90 nop 90 nop - eb fe jmp $0x1001f4ad - e9 fc ff ff ff jmp $0x1001f4b0 + eb fe jmp $0x1001f7dc + e9 fc ff ff ff jmp $0x1001f7df ff 25 00 00 00 00 jmp 0x00 ff e7 jmp %edi ff 27 jmp (%edi) @@ -70791,8 +70950,8 @@ test_s: ff 2d 00 00 00 00 ljmp 0x00 66 ff 2d 00 00 00 00 data16 ljmp 0x00 ea 00 00 00 00 34 12 ljmp 0x1234:0x00000000 - e8 c7 ff ff ff call $0x1001f4ad - e8 fc ff ff ff call $0x1001f4e7 + e8 c7 ff ff ff call $0x1001f7dc + e8 fc ff ff ff call $0x1001f816 ff 15 00 00 00 00 call 0x00 ff d7 call %edi ff 17 call (%edi) @@ -70808,11 +70967,11 @@ test_s: 66 ff 23 data16 jmp (%ebx) ff 23 jmp (%ebx) ff 2b ljmp (%ebx) - eb 00 jmp $0x1001f528 + eb 00 jmp $0x1001f857 90 nop - e3 00 jecxz $0x1001f52b + e3 00 jecxz $0x1001f85a 90 nop - eb 00 jmp $0x1001f52e + eb 00 jmp $0x1001f85d 90 nop 9a 90 90 90 90 90 90 lcall 0x9090:0x90909090 9a 90 90 90 90 90 90 lcall 0x9090:0x90909090 @@ -70846,8 +71005,8 @@ test_s: 90 nop 90 nop 90 nop - eb fe jmp $0x1001f5af - e9 fe ff ff 26 jmp $0x3701f5b4 + eb fe jmp $0x1001f8de + e9 fe ff ff 26 jmp $0x3701f8e3 00 00 add %al, (%eax) 66 ff e7 data16 jmp %di 67 ff 27 addr16 jmp (%bx) @@ -70869,7 +71028,7 @@ test_s: 00 00 add %al, (%eax) 66 9a 00 00 00 00 data16 lcall 0x0000:0x00000000 34 12 xor $0x12, %al - eb b2 jmp $0x1001f5aa + eb b2 jmp $0x1001f8d9 ff 26 jmp (%esi) 00 00 add %al, (%eax) ff e7 jmp %edi @@ -70879,7 +71038,7 @@ test_s: 66 ff 2e data16 ljmp (%esi) 00 00 add %al, (%eax) ea 00 00 34 12 e8 90 ljmp 0x90e8:0x12340000 - e8 fe ff ff 16 call $0x2701f61c + e8 fe ff ff 16 call $0x2701f94b 00 00 add %al, (%eax) ff d7 call %edi ff 15 ff 9d 00 00 call 0x00009dff @@ -70893,9 +71052,9 @@ test_s: ff 27 jmp (%edi) ff 2f ljmp (%edi) 66 ff 2f data16 ljmp (%edi) - eb 00 jmp $0x1001f64b + eb 00 jmp $0x1001f97a 90 nop - eb 00 jmp $0x1001f64e + eb 00 jmp $0x1001f97d 90 nop 9a 10 10 90 90 9a 10 lcall 0x109a:0x90901010 10 90 90 9a 00 00 adc %dl, 0x00009a90(%eax) @@ -71409,12 +71568,12 @@ test_s: 90 nop 67 66 8b 83 00 00 data16 addr16 mov (%bp,%di), %ax 00 00 add %al, (%eax) - 66 e8 fc ff data16 call $0x0000fcea + 66 e8 fc ff data16 call $0x00000019 8b 83 00 00 00 00 mov 0x00000000(%ebx), %eax - e8 fc ff ff ff call $0x1001fcf5 + e8 fc ff ff ff call $0x10020024 48 dec %eax 8b 83 00 00 00 00 mov 0x00000000(%ebx), %eax - e8 fc ff ff ff call $0x1001fd01 + e8 fc ff ff ff call $0x10020030 90 nop 90 nop 90 nop @@ -73510,12 +73669,12 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi - eb 1c jmp $0x10021fe9 + eb 1c jmp $0x10022318 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi - eb 7f jmp $0x1002206a + eb 7f jmp $0x10022399 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -73556,12 +73715,12 @@ test_s: 90 nop 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi - eb 12 jmp $0x100220a0 + eb 12 jmp $0x100223cf 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah 00 66 90 add %ah, -0x70(%esi) - eb 1c jmp $0x100220be + eb 1c jmp $0x100223ed 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -73598,7 +73757,7 @@ test_s: 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) - 74 00 jz $0x1002213e + 74 00 jz $0x1002246d 66 31 c0 data16 xor %ax, %ax 90 nop 90 nop @@ -73621,7 +73780,7 @@ test_s: 8d 76 00 lea 0x00(%esi), %esi 31 c0 xor %eax, %eax 31 c0 xor %eax, %eax - e9 fc ff ff ff jmp $0x1002215d + e9 fc ff ff ff jmp $0x1002248c 90 nop 90 nop 90 nop @@ -73647,7 +73806,7 @@ test_s: 89 c0 mov %eax, %eax 89 c0 mov %eax, %eax 89 c0 mov %eax, %eax - e9 fc ff ff ff jmp $0x10022189 + e9 fc ff ff ff jmp $0x100224b8 90 nop 90 nop 90 nop @@ -73675,7 +73834,7 @@ test_s: 89 c0 mov %eax, %eax 89 c0 mov %eax, %eax 89 c0 mov %eax, %eax - e9 fc ff ff ff jmp $0x100221b9 + e9 fc ff ff ff jmp $0x100224e8 90 nop 90 nop 90 nop @@ -73988,7 +74147,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1d jmp $0x100223dd + eb 1d jmp $0x1002270c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74014,7 +74173,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1d jmp $0x1002241d + eb 1d jmp $0x1002274c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74022,7 +74181,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1c jmp $0x1002243d + eb 1c jmp $0x1002276c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74030,7 +74189,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1b jmp $0x1002245d + eb 1b jmp $0x1002278c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74039,7 +74198,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1a jmp $0x1002247d + eb 1a jmp $0x100227ac 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74050,7 +74209,7 @@ test_s: 90 nop 90 nop 90 nop - eb 19 jmp $0x1002249d + eb 19 jmp $0x100227cc 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74061,7 +74220,7 @@ test_s: 90 nop 90 nop 90 nop - eb 18 jmp $0x100224bd + eb 18 jmp $0x100227ec 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74073,7 +74232,7 @@ test_s: 90 nop 90 nop 90 nop - eb 17 jmp $0x100224dd + eb 17 jmp $0x1002280c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74086,7 +74245,7 @@ test_s: 90 nop 90 nop 90 nop - eb 16 jmp $0x100224fd + eb 16 jmp $0x1002282c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74100,7 +74259,7 @@ test_s: 90 nop 90 nop 90 nop - eb 15 jmp $0x1002251d + eb 15 jmp $0x1002284c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74114,7 +74273,7 @@ test_s: 90 nop 90 nop 90 nop - eb 14 jmp $0x1002253d + eb 14 jmp $0x1002286c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b6 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74129,7 +74288,7 @@ test_s: 90 nop 90 nop 90 nop - eb 13 jmp $0x1002255d + eb 13 jmp $0x1002288c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi @@ -74326,7 +74485,7 @@ test_s: 90 nop 90 nop 31 c0 xor %eax, %eax - e9 f9 01 00 00 jmp $0x1002292d + e9 f9 01 00 00 jmp $0x10022c5c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74401,7 +74560,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 90 nop 31 db xor %ebx, %ebx - e9 f9 00 00 00 jmp $0x10022a2d + e9 f9 00 00 00 jmp $0x10022d5c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74439,7 +74598,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 31 db xor %ebx, %ebx - eb 7c jmp $0x10022aad + eb 7c jmp $0x10022ddc 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74460,7 +74619,7 @@ test_s: 8d 74 26 00 lea 0x00(%esi), %esi 90 nop 31 c9 xor %ecx, %ecx - eb 3c jmp $0x10022aed + eb 3c jmp $0x10022e1c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74471,7 +74630,7 @@ test_s: 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d 74 26 00 lea 0x00(%esi), %esi 31 d2 xor %edx, %edx - eb 1c jmp $0x10022b0d + eb 1c jmp $0x10022e3c 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi 8d b4 26 00 00 00 00 lea 0x00000000(%esi), %esi @@ -74557,7 +74716,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1d jmp $0x10022c0b + eb 1d jmp $0x10022f3a 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74566,7 +74725,7 @@ test_s: 00 8d b4 00 00 90 add %cl, -0x6fffff4c(%ebp) 90 nop 90 nop - eb 1c jmp $0x10022c2b + eb 1c jmp $0x10022f5a 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74574,7 +74733,7 @@ test_s: b4 00 mov $0x00, %ah 00 8d b4 00 90 90 add %cl, -0x6f6fff4c(%ebp) 90 nop - eb 1b jmp $0x10022c4a + eb 1b jmp $0x10022f79 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74583,7 +74742,7 @@ test_s: 00 8d 74 00 90 90 add %cl, -0x6f6fff8c(%ebp) 90 nop 90 nop - eb 1a jmp $0x10022c6a + eb 1a jmp $0x10022f99 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74595,7 +74754,7 @@ test_s: 90 nop 90 nop 90 nop - eb 19 jmp $0x10022c8a + eb 19 jmp $0x10022fb9 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74604,7 +74763,7 @@ test_s: 00 90 90 90 90 90 add %dl, -0x6f6f6f70(%eax) 90 nop 90 nop - eb 18 jmp $0x10022caa + eb 18 jmp $0x10022fd9 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74617,12 +74776,12 @@ test_s: 90 nop 90 nop 90 nop - eb 17 jmp $0x10022cc9 + eb 17 jmp $0x10022ff8 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) - 74 00 jz $0x10022cc9 + 74 00 jz $0x10022ff8 90 nop 90 nop 90 nop @@ -74631,7 +74790,7 @@ test_s: 90 nop 90 nop 90 nop - eb 16 jmp $0x10022ce9 + eb 16 jmp $0x10023018 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74646,7 +74805,7 @@ test_s: 90 nop 90 nop 90 nop - eb 15 jmp $0x10022d09 + eb 15 jmp $0x10023038 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74661,7 +74820,7 @@ test_s: 90 nop 90 nop 90 nop - eb 14 jmp $0x10022d29 + eb 14 jmp $0x10023058 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74675,7 +74834,7 @@ test_s: 90 nop 90 nop 90 nop - eb 13 jmp $0x10022d48 + eb 13 jmp $0x10023077 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74690,7 +74849,7 @@ test_s: 90 nop 90 nop 90 nop - eb 12 jmp $0x10022d68 + eb 12 jmp $0x10023097 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74708,7 +74867,7 @@ test_s: 90 nop 90 nop 90 nop - eb 11 jmp $0x10022d88 + eb 11 jmp $0x100230b7 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74723,7 +74882,7 @@ test_s: 90 nop 90 nop 90 nop - eb 10 jmp $0x10022da8 + eb 10 jmp $0x100230d7 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) b4 00 mov $0x00, %ah @@ -74742,10 +74901,10 @@ test_s: 90 nop 90 nop 90 nop - eb 0f jmp $0x10022dc7 + eb 0f jmp $0x100230f6 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 8d add %cl, -0x72ffff4c(%ebp) - 74 00 jz $0x10022dc7 + 74 00 jz $0x100230f6 90 nop 90 nop 90 nop @@ -74762,26 +74921,26 @@ test_s: 90 nop 90 nop 90 nop - eb 0e jmp $0x10022de7 + eb 0e jmp $0x10023116 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 66 add %cl, 0x660000b4(%ebp) 90 nop 90 nop - eb 0d jmp $0x10022df7 + eb 0d jmp $0x10023126 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 00 90 add %cl, -0x6fffff4c(%ebp) 90 nop 90 nop - eb 0c jmp $0x10022e07 + eb 0c jmp $0x10023136 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d b4 00 90 90 add %cl, -0x6f6fff4c(%ebp) 90 nop - eb 0b jmp $0x10022e16 + eb 0b jmp $0x10023145 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 8d 74 00 90 90 add %cl, -0x6f6fff8c(%ebp) 90 nop 90 nop - eb 0a jmp $0x10022e26 + eb 0a jmp $0x10023155 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 66 90 add %ah, -0x70(%esi) 90 nop @@ -75124,22 +75283,22 @@ test_s: 6d insd 6e outsb 6f outsd - 70 90 jo $0x100230bb - 71 90 jno $0x100230bd - 72 90 jb $0x100230bf - 73 90 jnb $0x100230c1 - 74 90 jz $0x100230c3 - 75 90 jnz $0x100230c5 - 76 90 jbe $0x100230c7 - 77 90 jnbe $0x100230c9 - 78 90 js $0x100230cb - 79 90 jns $0x100230cd - 7a 90 jp $0x100230cf - 7b 90 jnp $0x100230d1 - 7c 90 jl $0x100230d3 - 7d 90 jnl $0x100230d5 - 7e 90 jle $0x100230d7 - 7f 90 jnle $0x100230d9 + 70 90 jo $0x100233ea + 71 90 jno $0x100233ec + 72 90 jb $0x100233ee + 73 90 jnb $0x100233f0 + 74 90 jz $0x100233f2 + 75 90 jnz $0x100233f4 + 76 90 jbe $0x100233f6 + 77 90 jnbe $0x100233f8 + 78 90 js $0x100233fa + 79 90 jns $0x100233fc + 7a 90 jp $0x100233fe + 7b 90 jnp $0x10023400 + 7c 90 jl $0x10023402 + 7d 90 jnl $0x10023404 + 7e 90 jle $0x10023406 + 7f 90 jnle $0x10023408 80 90 90 90 90 90 90 adcb $0x90, -0x6f6f6f70(%eax) 81 90 90 90 90 90 90 adcl $0x90909090, -0x6f6f6f70(%eax) 90 90 90 @@ -75236,18 +75395,18 @@ test_s: dd 90 90 90 90 90 fst -0x6f6f6f70(%eax) de 90 90 90 90 90 ficom -0x6f6f6f70(%eax) df 90 90 90 90 90 fist -0x6f6f6f70(%eax) - e0 90 loopne $0x10023238 - e1 90 loope $0x1002323a - e2 90 loop $0x1002323c - e3 90 jecxz $0x1002323e + e0 90 loopne $0x10023567 + e1 90 loope $0x10023569 + e2 90 loop $0x1002356b + e3 90 jecxz $0x1002356d e4 90 in $0x90, %al e5 90 in $0x90, %eax e6 90 out $0x90, %al e7 90 out $0x90, %eax - e8 90 90 90 90 call $0xa092c34b - e9 90 90 90 90 jmp $0xa092c350 + e8 90 90 90 90 call $0xa092c67a + e9 90 90 90 90 jmp $0xa092c67f ea 90 90 90 90 90 90 ljmp 0x9090:0x90909090 - eb 90 jmp $0x10023259 + eb 90 jmp $0x10023588 ec in %dx ed in %dx, %eax ee out %al, %dx @@ -75318,22 +75477,22 @@ test_s: 0f 77 emms 0f 7e 90 90 90 90 90 movd %mm2, -0x6f6f6f70(%eax) 0f 7f 90 90 90 90 90 movq %mm2, -0x6f6f6f70(%eax) - 0f 80 90 90 90 90 jo $0xa092c4b8 - 0f 81 90 90 90 90 jno $0xa092c4be - 0f 82 90 90 90 90 jb $0xa092c4c4 - 0f 83 90 90 90 90 jnb $0xa092c4ca - 0f 84 90 90 90 90 jz $0xa092c4d0 - 0f 85 90 90 90 90 jnz $0xa092c4d6 - 0f 86 90 90 90 90 jbe $0xa092c4dc - 0f 87 90 90 90 90 jnbe $0xa092c4e2 - 0f 88 90 90 90 90 js $0xa092c4e8 - 0f 89 90 90 90 90 jns $0xa092c4ee - 0f 8a 90 90 90 90 jp $0xa092c4f4 - 0f 8b 90 90 90 90 jnp $0xa092c4fa - 0f 8c 90 90 90 90 jl $0xa092c500 - 0f 8d 90 90 90 90 jnl $0xa092c506 - 0f 8e 90 90 90 90 jle $0xa092c50c - 0f 8f 90 90 90 90 jnle $0xa092c512 + 0f 80 90 90 90 90 jo $0xa092c7e7 + 0f 81 90 90 90 90 jno $0xa092c7ed + 0f 82 90 90 90 90 jb $0xa092c7f3 + 0f 83 90 90 90 90 jnb $0xa092c7f9 + 0f 84 90 90 90 90 jz $0xa092c7ff + 0f 85 90 90 90 90 jnz $0xa092c805 + 0f 86 90 90 90 90 jbe $0xa092c80b + 0f 87 90 90 90 90 jnbe $0xa092c811 + 0f 88 90 90 90 90 js $0xa092c817 + 0f 89 90 90 90 90 jns $0xa092c81d + 0f 8a 90 90 90 90 jp $0xa092c823 + 0f 8b 90 90 90 90 jnp $0xa092c829 + 0f 8c 90 90 90 90 jl $0xa092c82f + 0f 8d 90 90 90 90 jnl $0xa092c835 + 0f 8e 90 90 90 90 jle $0xa092c83b + 0f 8f 90 90 90 90 jnle $0xa092c841 0f 90 80 90 90 90 90 seto -0x6f6f6f70(%eax) 0f 91 80 90 90 90 90 setno -0x6f6f6f70(%eax) 0f 92 80 90 90 90 90 setb -0x6f6f6f70(%eax) @@ -75548,7 +75707,7 @@ test_s: 66 d3 90 90 90 90 90 data16 rcl %cl, -0x6f6f6f70(%eax) 66 e5 90 data16 in $0x90, %ax 66 e7 90 data16 out $0x90, %ax - 66 e8 8f 90 data16 call $0x0000c8ee + 66 e8 8f 90 data16 call $0x0000cc1d 66 ea 90 90 90 90 data16 ljmp 0x9090:0x00009090 66 ed data16 in %dx, %ax 66 ef data16 out %ax, %dx @@ -76007,44 +76166,44 @@ test_s: 90 nop 90 nop 90 nop - e9 30 12 00 00 jmp $0x10024fcf - e9 fc ff ff ff jmp $0x10023da0 - e9 fc ff ff ff jmp $0x10023da5 - e9 fc ff ff ff jmp $0x10023daa - eb ea jmp $0x10023d9a - eb ed jmp $0x10023d9f - e9 72 98 00 00 jmp $0x1002d629 - e9 de 00 00 00 jmp $0x10023e9a - e9 de 00 00 00 jmp $0x10023e9f - e9 fc ff ff ff jmp $0x10023dc2 - e9 00 00 00 00 jmp $0x10023dcb - e9 fc ff ff ff jmp $0x10023dcc - e9 c8 ed ff ff jmp $0x10022b9d - e9 c8 ed ff ff jmp $0x10022ba2 - e9 c8 ed ff ff jmp $0x10022ba7 - e9 82 ed ff ff jmp $0x10022b66 - e9 82 ed ff ff jmp $0x10022b6b - e9 3e 86 00 00 jmp $0x1002c42c - e9 73 ee ff ff jmp $0x10022c66 - e9 73 ee ff ff jmp $0x10022c6b - e9 c8 ed ff ff jmp $0x10022bc5 - e9 cc ed ff ff jmp $0x10022bce - e9 ba 79 ff ff jmp $0x1001b7c1 - e9 86 67 ff ff jmp $0x1001a592 - e9 86 67 ff ff jmp $0x1001a597 - e9 86 67 ff ff jmp $0x1001a59c - e9 09 67 ff ff jmp $0x1001a524 - e9 09 67 ff ff jmp $0x1001a529 - e9 fc ff ff ff jmp $0x10023e21 - e9 fa 67 ff ff jmp $0x1001a624 - e9 fa 67 ff ff jmp $0x1001a629 - e9 86 67 ff ff jmp $0x1001a5ba - e9 8a 67 ff ff jmp $0x1001a5c3 - e9 fc 00 00 00 jmp $0x10023f3a - e9 01 00 00 00 jmp $0x10023e44 - e9 01 ff ff ff jmp $0x10023d49 - e9 01 01 00 00 jmp $0x10023f4e - e9 01 00 00 00 jmp $0x10023e53 + e9 30 12 00 00 jmp $0x100252fe + e9 fc ff ff ff jmp $0x100240cf + e9 fc ff ff ff jmp $0x100240d4 + e9 fc ff ff ff jmp $0x100240d9 + eb ea jmp $0x100240c9 + eb ed jmp $0x100240ce + e9 72 98 00 00 jmp $0x1002d958 + e9 de 00 00 00 jmp $0x100241c9 + e9 de 00 00 00 jmp $0x100241ce + e9 fc ff ff ff jmp $0x100240f1 + e9 00 00 00 00 jmp $0x100240fa + e9 fc ff ff ff jmp $0x100240fb + e9 c8 ed ff ff jmp $0x10022ecc + e9 c8 ed ff ff jmp $0x10022ed1 + e9 c8 ed ff ff jmp $0x10022ed6 + e9 82 ed ff ff jmp $0x10022e95 + e9 82 ed ff ff jmp $0x10022e9a + e9 3e 86 00 00 jmp $0x1002c75b + e9 73 ee ff ff jmp $0x10022f95 + e9 73 ee ff ff jmp $0x10022f9a + e9 c8 ed ff ff jmp $0x10022ef4 + e9 cc ed ff ff jmp $0x10022efd + e9 ba 79 ff ff jmp $0x1001baf0 + e9 86 67 ff ff jmp $0x1001a8c1 + e9 86 67 ff ff jmp $0x1001a8c6 + e9 86 67 ff ff jmp $0x1001a8cb + e9 09 67 ff ff jmp $0x1001a853 + e9 09 67 ff ff jmp $0x1001a858 + e9 fc ff ff ff jmp $0x10024150 + e9 fa 67 ff ff jmp $0x1001a953 + e9 fa 67 ff ff jmp $0x1001a958 + e9 86 67 ff ff jmp $0x1001a8e9 + e9 8a 67 ff ff jmp $0x1001a8f2 + e9 fc 00 00 00 jmp $0x10024269 + e9 01 00 00 00 jmp $0x10024173 + e9 01 ff ff ff jmp $0x10024078 + e9 01 01 00 00 jmp $0x1002427d + e9 01 00 00 00 jmp $0x10024182 90 nop 90 nop 90 nop @@ -76061,7 +76220,7 @@ test_s: 90 nop 90 nop 90 nop - eb 02 jmp $0x10023e66 + eb 02 jmp $0x10024195 89 c0 mov %eax, %eax 90 nop 90 nop @@ -76080,7 +76239,7 @@ test_s: 90 nop 90 nop 90 nop - eb fd jmp $0x10023e76 + eb fd jmp $0x100241a5 90 nop 90 nop 90 nop @@ -76319,7 +76478,7 @@ test_s: 90 nop 90 nop 90 nop - e9 8d 00 00 00 jmp $0x10024140 + e9 8d 00 00 00 jmp $0x1002446f 90 nop 90 nop 90 nop @@ -76334,7 +76493,7 @@ test_s: 90 nop 90 nop 90 nop - eb 7d jmp $0x10024140 + eb 7d jmp $0x1002446f 90 nop 90 nop 90 nop @@ -76470,8 +76629,8 @@ test_s: 90 nop 90 nop 90 nop - eb 14 jmp $0x10024169 - eb 12 jmp $0x10024169 + eb 14 jmp $0x10024498 + eb 12 jmp $0x10024498 41 inc %ecx 42 inc %edx 43 inc %ebx @@ -76485,7 +76644,7 @@ test_s: 00 00 add %al, (%eax) 00 00 add %al, (%eax) 00 00 add %al, (%eax) - eb 00 jmp $0x1002416a + eb 00 jmp $0x10024499 90 nop 90 nop 90 nop @@ -76540,8 +76699,8 @@ test_s: b0 01 mov $0x01, %al 8b 83 02 00 00 00 mov 0x00000002(%ebx), %eax 67 8b 87 03 00 addr16 mov 0x0003(%bx), %eax - e8 fc ff ff ff call $0x100241df - e3 ff jecxz $0x100241e4 + e8 fc ff ff ff call $0x1002450e + e3 ff jecxz $0x10024513 b8 00 00 00 00 mov $0x00000000, %eax 8b 83 00 00 00 00 mov 0x00000000(%ebx), %eax b8 00 00 00 00 mov $0x00000000, %eax @@ -76550,7 +76709,7 @@ test_s: 05 01 00 00 00 add $0x00000001, %eax b8 00 00 00 00 mov $0x00000000, %eax 8b 83 00 00 00 00 mov 0x00000000(%ebx), %eax - e8 fc ff ff ff call $0x10024211 + e8 fc ff ff ff call $0x10024540 b8 00 00 00 00 mov $0x00000000, %eax 8b 83 00 00 00 00 mov 0x00000000(%ebx), %eax b8 00 00 00 00 mov $0x00000000, %eax @@ -76668,12 +76827,12 @@ test_s: 90 nop 90 nop c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x10024331 - c7 f8 00 00 00 00 xbegin $0x1002433d + c7 f8 fa ff ff ff xbegin $0x10024660 + c7 f8 00 00 00 00 xbegin $0x1002466c 0f 01 d5 xend c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x10024343 - c7 f8 00 00 00 00 xbegin $0x1002434f + c7 f8 fa ff ff ff xbegin $0x10024672 + c7 f8 00 00 00 00 xbegin $0x1002467e 0f 01 d5 xend 0f 01 d6 xtest 90 nop @@ -79499,13 +79658,13 @@ test_s: 89 e5 mov %esp, %ebp 53 push %ebx 50 push %eax - e8 00 00 00 00 call $0x10026f49 + e8 00 00 00 00 call $0x10027278 5b pop %ebx 81 c3 03 00 00 00 add $0x00000003, %ebx 8d 04 1d 00 00 00 00 lea 0x00(,%ebx), %eax - e8 fc ff ff ff call $0x10026f58 + e8 fc ff ff ff call $0x10027287 8d 83 00 00 00 00 lea 0x00000000(%ebx), %eax - e8 fc ff ff ff call $0x10026f63 + e8 fc ff ff ff call $0x10027292 83 c7 00 add $0x00, %edi 8d 90 00 00 00 00 lea 0x00000000(%eax), %edx 83 c6 00 add $0x00, %esi @@ -79569,7 +79728,7 @@ test_s: 89 e5 mov %esp, %ebp 53 push %ebx 50 push %eax - e8 00 00 00 00 call $0x10027004 + e8 00 00 00 00 call $0x10027333 5b pop %ebx 81 c3 03 00 00 00 add $0x00000003, %ebx 65 a1 00 00 00 00 mov %gs:0x00, %eax @@ -116375,6 +116534,70 @@ test_s: 90 nop 90 nop 90 nop + 62 f3 d5 48 ce f4 ab vgf2p8affineqb $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f ce f4 ab vgf2p8affineqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf ce f4 ab vgf2p8affineqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 ce b4 f4 vgf2p8affineqb $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 ce 72 7f vgf2p8affineqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 ce 72 7f vgf2p8affineqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 48 cf f4 ab vgf2p8affineinvqb $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f cf f4 ab vgf2p8affineinvqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf cf f4 ab vgf2p8affineinvqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 cf b4 f4 vgf2p8affineinvqb $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f2 55 48 cf f4 vgf2p8mulb %zmm5, %zmm4, %zmm6 {%k0} + 62 f2 55 4f cf f4 vgf2p8mulb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 55 cf cf f4 vgf2p8mulb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 55 48 cf b4 f4 vgf2p8mulb %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 55 48 cf 72 7f vgf2p8mulb %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 62 f3 d5 48 ce f4 ab vgf2p8affineqb $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f ce f4 ab vgf2p8affineqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf ce f4 ab vgf2p8affineqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 ce b4 f4 vgf2p8affineqb $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 ce 72 7f vgf2p8affineqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 ce 72 7f vgf2p8affineqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 48 cf f4 ab vgf2p8affineinvqb $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f cf f4 ab vgf2p8affineinvqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf cf f4 ab vgf2p8affineinvqb $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 cf b4 f4 vgf2p8affineinvqb $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 7b + 62 f2 55 48 cf f4 vgf2p8mulb %zmm5, %zmm4, %zmm6 {%k0} + 62 f2 55 4f cf f4 vgf2p8mulb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 55 cf cf f4 vgf2p8mulb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 55 48 cf b4 f4 vgf2p8mulb %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 55 48 cf 72 7f vgf2p8mulb %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop 62 f1 fd 0f 28 f5 vmovapd %xmm5, %xmm6 {%k7} 62 f1 fd 0f 29 ee vmovapd %xmm5, %xmm6 {%k7} 62 f1 fd 8f 28 f5 vmovapd %xmm5, %xmm6 {%k7} @@ -133763,6 +133986,111 @@ test_s: 62 f2 55 48 7d 72 80 vpermt2b %zmm5, -0x00002000(%edx), %zmm6 {%k0} 62 f2 55 48 7d b2 c0 vpermt2b %zmm5, -0x00002040(%edx), %zmm6 {%k0} df ff ff + 62 f3 d5 0f ce f4 ab vgf2p8affineqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f ce f4 ab vgf2p8affineqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f ce f4 7b vgf2p8affineqb $0x7b, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f ce b4 f4 vgf2p8affineqb $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f ce 72 7f vgf2p8affineqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f ce 72 7f vgf2p8affineqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f ce f4 ab vgf2p8affineqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af ce f4 ab vgf2p8affineqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f ce f4 7b vgf2p8affineqb $0x7b, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f ce b4 f4 vgf2p8affineqb $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f ce 72 7f vgf2p8affineqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f ce 72 7f vgf2p8affineqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f cf f4 ab vgf2p8affineinvqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f cf f4 ab vgf2p8affineinvqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f cf f4 7b vgf2p8affineinvqb $0x7b, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f cf b4 f4 vgf2p8affineinvqb $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f cf 72 7f vgf2p8affineinvqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f cf 72 7f vgf2p8affineinvqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f cf f4 ab vgf2p8affineinvqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af cf f4 ab vgf2p8affineinvqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f cf f4 7b vgf2p8affineinvqb $0x7b, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f cf b4 f4 vgf2p8affineinvqb $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f cf 72 7f vgf2p8affineinvqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f cf 72 7f vgf2p8affineinvqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f2 55 0f cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f cf b4 f4 vgf2p8mulb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f cf 72 7f vgf2p8mulb %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 2f cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f cf b4 f4 vgf2p8mulb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f cf 72 7f vgf2p8mulb %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f3 d5 0f ce f4 ab vgf2p8affineqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f ce f4 ab vgf2p8affineqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f ce b4 f4 vgf2p8affineqb $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f ce 72 7f vgf2p8affineqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f ce 72 7f vgf2p8affineqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f ce f4 ab vgf2p8affineqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af ce f4 ab vgf2p8affineqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f ce b4 f4 vgf2p8affineqb $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f ce 72 7f vgf2p8affineqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f ce 72 7f vgf2p8affineqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f cf f4 ab vgf2p8affineinvqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f cf f4 ab vgf2p8affineinvqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f cf b4 f4 vgf2p8affineinvqb $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f cf 72 7f vgf2p8affineinvqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f cf 72 7f vgf2p8affineinvqb $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f cf f4 ab vgf2p8affineinvqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af cf f4 ab vgf2p8affineinvqb $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f cf b4 f4 vgf2p8affineinvqb $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 3f cf 30 7b vgf2p8affineinvqb $0x7b, %ymm5, (%eax), %ymm6 {%k7} + 62 f3 d5 2f cf 72 7f vgf2p8affineinvqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f cf 72 7f vgf2p8affineinvqb $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f2 55 0f cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f cf b4 f4 vgf2p8mulb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f cf 72 7f vgf2p8mulb %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 2f cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f cf b4 f4 vgf2p8mulb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f cf 72 7f vgf2p8mulb %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop 62 f1 7d 08 7e 21 vmovd %xmm4, (%ecx) 62 f1 7d 08 7e e1 vmovd %xmm4, %ecx 62 f1 7d 08 6e 21 vmovd (%ecx), %xmm4 @@ -138528,6 +138856,52 @@ test_s: 90 nop 90 nop 90 nop + 66 0f 38 cf ec gf2p8mulb %xmm4, %xmm5 + 66 0f 38 cf ac f4 c0 gf2p8mulb -0x0001e240(%esp,%esi,8), %xmm5 + 1d fe ff + 66 0f 38 cf aa f0 07 gf2p8mulb 0x000007f0(%edx), %xmm5 + 00 00 + 66 0f 3a ce ec ab gf2p8affineqb %xmm4, $0xab, %xmm5 + 66 0f 3a ce ac f4 c0 gf2p8affineqb -0x0001e240(%esp,%esi,8), $0x7b, %xmm5 + 1d fe ff 7b + 66 0f 3a ce aa f0 07 gf2p8affineqb 0x000007f0(%edx), $0x7b, %xmm5 + 00 00 7b + 66 0f 3a cf ec ab gf2p8affineinvqb %xmm4, $0xab, %xmm5 + 66 0f 3a cf ac f4 c0 gf2p8affineinvqb -0x0001e240(%esp,%esi,8), $0x7b, %xmm5 + 1d fe ff 7b + 66 0f 3a cf aa f0 07 gf2p8affineinvqb 0x000007f0(%edx), $0x7b, %xmm5 + 00 00 7b + 66 0f 38 cf ec gf2p8mulb %xmm4, %xmm5 + 66 0f 38 cf ac f4 c0 gf2p8mulb -0x0001e240(%esp,%esi,8), %xmm5 + 1d fe ff + 66 0f 38 cf aa f0 07 gf2p8mulb 0x000007f0(%edx), %xmm5 + 00 00 + 66 0f 3a ce ec ab gf2p8affineqb %xmm4, $0xab, %xmm5 + 66 0f 3a ce ac f4 c0 gf2p8affineqb -0x0001e240(%esp,%esi,8), $0x7b, %xmm5 + 1d fe ff 7b + 66 0f 3a ce aa f0 07 gf2p8affineqb 0x000007f0(%edx), $0x7b, %xmm5 + 00 00 7b + 66 0f 3a cf ec ab gf2p8affineinvqb %xmm4, $0xab, %xmm5 + 66 0f 3a cf ac f4 c0 gf2p8affineinvqb -0x0001e240(%esp,%esi,8), $0x7b, %xmm5 + 1d fe ff 7b + 66 0f 3a cf aa f0 07 gf2p8affineinvqb 0x000007f0(%edx), $0x7b, %xmm5 + 00 00 7b + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop 62 f1 f5 4f 55 e9 vandnpd %zmm1, %zmm1, %zmm5 {%k7} 62 f1 f5 af 55 e9 vandnpd %ymm1, %ymm1, %ymm5 {%k7} 62 f1 f5 48 55 e9 vandnpd %zmm1, %zmm1, %zmm5 {%k0} diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect index 085b2982a87..a1940b18eb1 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect @@ -1649,6 +1649,18 @@ test_x86_64_s: c5 cc c2 11 1e vcmpps %ymm6, (%rcx), $0x1e, %ymm2 c5 cc c2 d4 1f vcmpps %ymm6, %ymm4, $0x1f, %ymm2 c5 cc c2 11 1f vcmpps %ymm6, (%rcx), $0x1f, %ymm2 + c4 e2 55 cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 + c4 e2 55 cf 31 vgf2p8mulb %ymm5, (%rcx), %ymm6 + c4 a2 55 cf b4 f0 c0 vgf2p8mulb %ymm5, -0x0001e240(%rax,%r14,8), %ymm6 + 1d fe ff + c4 e2 55 cf b2 e0 0f vgf2p8mulb %ymm5, 0x00000fe0(%rdx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 10 vgf2p8mulb %ymm5, 0x00001000(%rdx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 f0 vgf2p8mulb %ymm5, -0x00001000(%rdx), %ymm6 + ff ff + c4 e2 55 cf b2 e0 ef vgf2p8mulb %ymm5, -0x00001020(%rdx), %ymm6 + ff ff c5 ff e6 e4 vcvtpd2dq %ymm4, %ymm4 c5 ff e6 21 vcvtpd2dq (%rcx), %ymm4 c5 fd 5a e4 vcvtpd2ps %ymm4, %ymm4 @@ -1725,6 +1737,32 @@ test_x86_64_s: c5 cd c6 11 07 vshufpd %ymm6, (%rcx), $0x07, %ymm2 c5 cc c6 d4 07 vshufps %ymm6, %ymm4, $0x07, %ymm2 c5 cc c6 11 07 vshufps %ymm6, (%rcx), $0x07, %ymm2 + c4 e3 d5 ce f4 ab vgf2p8affineqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 ce f4 7b vgf2p8affineqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 ce 31 7b vgf2p8affineqb %ymm5, (%rcx), $0x7b, %ymm6 + c4 a3 d5 ce b4 f0 c0 vgf2p8affineqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 ce b2 e0 0f vgf2p8affineqb %ymm5, 0x00000fe0(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 10 vgf2p8affineqb %ymm5, 0x00001000(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 f0 vgf2p8affineqb %ymm5, -0x00001000(%rdx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 ce b2 e0 ef vgf2p8affineqb %ymm5, -0x00001020(%rdx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf f4 ab vgf2p8affineinvqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 cf f4 7b vgf2p8affineinvqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 cf 31 7b vgf2p8affineinvqb %ymm5, (%rcx), $0x7b, %ymm6 + c4 a3 d5 cf b4 f0 c0 vgf2p8affineinvqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 cf b2 e0 0f vgf2p8affineinvqb %ymm5, 0x00000fe0(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 10 vgf2p8affineinvqb %ymm5, 0x00001000(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 f0 vgf2p8affineinvqb %ymm5, -0x00001000(%rdx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf b2 e0 ef vgf2p8affineinvqb %ymm5, -0x00001020(%rdx), $0x7b, %ymm6 + ff ff 7b c4 e3 6d 4b fe 40 vblendvpd %ymm2, %ymm6, %ymm4, %ymm7 c4 e3 6d 4b 39 40 vblendvpd %ymm2, (%rcx), %ymm4, %ymm7 c4 e3 6d 4a fe 40 vblendvps %ymm2, %ymm6, %ymm4, %ymm7 @@ -2179,6 +2217,18 @@ test_x86_64_s: c5 c8 c2 39 1e vcmpps %xmm6, (%rcx), $0x1e, %xmm7 c5 c8 c2 d4 1f vcmpps %xmm6, %xmm4, $0x1f, %xmm2 c5 c8 c2 39 1f vcmpps %xmm6, (%rcx), $0x1f, %xmm7 + c4 e2 51 cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 + c4 e2 51 cf 31 vgf2p8mulb %xmm5, (%rcx), %xmm6 + c4 a2 51 cf b4 f0 c0 vgf2p8mulb %xmm5, -0x0001e240(%rax,%r14,8), %xmm6 + 1d fe ff + c4 e2 51 cf b2 f0 07 vgf2p8mulb %xmm5, 0x000007f0(%rdx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 08 vgf2p8mulb %xmm5, 0x00000800(%rdx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 f8 vgf2p8mulb %xmm5, -0x00000800(%rdx), %xmm6 + ff ff + c4 e2 51 cf b2 f0 f7 vgf2p8mulb %xmm5, -0x00000810(%rdx), %xmm6 + ff ff c4 e2 59 2c 31 vmaskmovps %xmm4, (%rcx), %xmm6 c4 e2 59 2d 31 vmaskmovpd %xmm4, (%rcx), %xmm6 c4 e3 79 df f4 07 vaeskeygenassist %xmm4, $0x07, %xmm6 @@ -2235,6 +2285,32 @@ test_x86_64_s: c5 c9 c6 11 07 vshufpd %xmm6, (%rcx), $0x07, %xmm2 c5 c8 c6 d4 07 vshufps %xmm6, %xmm4, $0x07, %xmm2 c5 c8 c6 11 07 vshufps %xmm6, (%rcx), $0x07, %xmm2 + c4 e3 d1 ce f4 ab vgf2p8affineqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 ce f4 7b vgf2p8affineqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 ce 31 7b vgf2p8affineqb %xmm5, (%rcx), $0x7b, %xmm6 + c4 a3 d1 ce b4 f0 c0 vgf2p8affineqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 ce b2 f0 07 vgf2p8affineqb %xmm5, 0x000007f0(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 08 vgf2p8affineqb %xmm5, 0x00000800(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 f8 vgf2p8affineqb %xmm5, -0x00000800(%rdx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 ce b2 f0 f7 vgf2p8affineqb %xmm5, -0x00000810(%rdx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf f4 ab vgf2p8affineinvqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 cf f4 7b vgf2p8affineinvqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 cf 31 7b vgf2p8affineinvqb %xmm5, (%rcx), $0x7b, %xmm6 + c4 a3 d1 cf b4 f0 c0 vgf2p8affineinvqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 cf b2 f0 07 vgf2p8affineinvqb %xmm5, 0x000007f0(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 08 vgf2p8affineinvqb %xmm5, 0x00000800(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 f8 vgf2p8affineinvqb %xmm5, -0x00000800(%rdx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf b2 f0 f7 vgf2p8affineinvqb %xmm5, -0x00000810(%rdx), $0x7b, %xmm6 + ff ff 7b c4 e3 69 4b fe 40 vblendvpd %xmm2, %xmm6, %xmm4, %xmm7 c4 e3 69 4b 39 40 vblendvpd %xmm2, (%rcx), %xmm4, %xmm7 c4 e3 69 4a fe 40 vblendvps %xmm2, %xmm6, %xmm4, %xmm7 @@ -2732,47 +2808,47 @@ test_x86_64_s: 00 00 07 c4 43 1d 4b b7 99 00 vblendvpd %ymm12, 0x99(%r15), %ymm8, %ymm14 00 00 80 - c5 f8 ae 15 99 00 00 vldmxcsr 0x00000000100033b3 + c5 f8 ae 15 99 00 00 vldmxcsr 0x0000000010003537 00 - c5 79 6f 05 99 00 00 vmovdqa 0x00000000100033bb, %xmm8 + c5 79 6f 05 99 00 00 vmovdqa 0x000000001000353f, %xmm8 00 - c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x00000000100033c3 + c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x0000000010003547 00 - c5 79 7e 05 99 00 00 vmovd %xmm8, 0x00000000100033cb + c5 79 7e 05 99 00 00 vmovd %xmm8, 0x000000001000354f 00 - c5 7b 2d 05 99 00 00 vcvtsd2si 0x00000000100033d3, %r8d + c5 7b 2d 05 99 00 00 vcvtsd2si 0x0000000010003557, %r8d 00 - c5 7e e6 05 99 00 00 vcvtdq2pd 0x00000000100033db, %ymm8 + c5 7e e6 05 99 00 00 vcvtdq2pd 0x000000001000355f, %ymm8 00 - c5 7d 5a 05 99 00 00 vcvtpd2ps 0x00000000100033e3, %ymm8 + c5 7d 5a 05 99 00 00 vcvtpd2ps 0x0000000010003567, %ymm8 00 - c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x00000000100033eb, %xmm15 + c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x000000001000356f, %xmm15 00 - c4 63 79 df 05 99 00 vaeskeygenassist 0x00000000100033f5, $0x07, %xmm8 + c4 63 79 df 05 99 00 vaeskeygenassist 0x0000000010003579, $0x07, %xmm8 00 00 07 - c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x00000000100033ff + c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x0000000010003583 00 00 07 - c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x0000000010003407, %xmm15 + c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x000000001000358b, %xmm15 00 - c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x0000000010003411, $0x07, %xmm15 + c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x0000000010003595, $0x07, %xmm15 00 00 07 - c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x000000001000341b, %xmm8, %xmm14 + c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x000000001000359f, %xmm8, %xmm14 00 00 80 - c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x0000000010003425, $0x07, %xmm15 + c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x00000000100035a9, $0x07, %xmm15 00 00 07 - c5 7d 6f 05 99 00 00 vmovdqa 0x000000001000342d, %ymm8 + c5 7d 6f 05 99 00 00 vmovdqa 0x00000000100035b1, %ymm8 00 - c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x0000000010003435 + c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x00000000100035b9 00 - c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x000000001000343e, %ymm15 + c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x00000000100035c2, %ymm15 00 00 - c4 63 7d 09 05 99 00 vroundpd 0x0000000010003448, $0x07, %ymm8 + c4 63 7d 09 05 99 00 vroundpd 0x00000000100035cc, $0x07, %ymm8 00 00 07 - c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x0000000010003452 + c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x00000000100035d6 00 00 07 - c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x000000001000345c, $0x07, %ymm15 + c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x00000000100035e0, $0x07, %ymm15 00 00 07 - c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x0000000010003466, %ymm8, %ymm14 + c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x00000000100035ea, %ymm8, %ymm14 00 00 80 c5 f8 ae 94 24 99 00 vldmxcsr 0x99(%rsp) 00 00 @@ -3531,6 +3607,19 @@ test_x86_64_s: c5 cc c2 d4 1f vcmpps %ymm6, %ymm4, $0x1f, %ymm2 c5 cc c2 11 1f vcmpps %ymm6, (%rcx), $0x1f, %ymm2 c5 cc c2 11 1f vcmpps %ymm6, (%rcx), $0x1f, %ymm2 + c4 e2 55 cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 + c4 e2 55 cf 31 vgf2p8mulb %ymm5, (%rcx), %ymm6 + c4 e2 55 cf 31 vgf2p8mulb %ymm5, (%rcx), %ymm6 + c4 a2 55 cf b4 f0 c0 vgf2p8mulb %ymm5, -0x0001e240(%rax,%r14,8), %ymm6 + 1d fe ff + c4 e2 55 cf b2 e0 0f vgf2p8mulb %ymm5, 0x00000fe0(%rdx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 10 vgf2p8mulb %ymm5, 0x00001000(%rdx), %ymm6 + 00 00 + c4 e2 55 cf b2 00 f0 vgf2p8mulb %ymm5, -0x00001000(%rdx), %ymm6 + ff ff + c4 e2 55 cf b2 e0 ef vgf2p8mulb %ymm5, -0x00001020(%rdx), %ymm6 + ff ff c5 ff e6 e4 vcvtpd2dq %ymm4, %ymm4 c5 ff e6 21 vcvtpd2dq (%rcx), %ymm4 c5 fd 5a e4 vcvtpd2ps %ymm4, %ymm4 @@ -3644,6 +3733,34 @@ test_x86_64_s: c5 cc c6 d4 07 vshufps %ymm6, %ymm4, $0x07, %ymm2 c5 cc c6 11 07 vshufps %ymm6, (%rcx), $0x07, %ymm2 c5 cc c6 11 07 vshufps %ymm6, (%rcx), $0x07, %ymm2 + c4 e3 d5 ce f4 ab vgf2p8affineqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 ce f4 7b vgf2p8affineqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 ce 31 7b vgf2p8affineqb %ymm5, (%rcx), $0x7b, %ymm6 + c4 e3 d5 ce 31 7b vgf2p8affineqb %ymm5, (%rcx), $0x7b, %ymm6 + c4 a3 d5 ce b4 f0 c0 vgf2p8affineqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 ce b2 e0 0f vgf2p8affineqb %ymm5, 0x00000fe0(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 10 vgf2p8affineqb %ymm5, 0x00001000(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 ce b2 00 f0 vgf2p8affineqb %ymm5, -0x00001000(%rdx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 ce b2 e0 ef vgf2p8affineqb %ymm5, -0x00001020(%rdx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf f4 ab vgf2p8affineinvqb %ymm5, %ymm4, $0xab, %ymm6 + c4 e3 d5 cf f4 7b vgf2p8affineinvqb %ymm5, %ymm4, $0x7b, %ymm6 + c4 e3 d5 cf 31 7b vgf2p8affineinvqb %ymm5, (%rcx), $0x7b, %ymm6 + c4 e3 d5 cf 31 7b vgf2p8affineinvqb %ymm5, (%rcx), $0x7b, %ymm6 + c4 a3 d5 cf b4 f0 c0 vgf2p8affineinvqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 cf b2 e0 0f vgf2p8affineinvqb %ymm5, 0x00000fe0(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 10 vgf2p8affineinvqb %ymm5, 0x00001000(%rdx), $0x7b, %ymm6 + 00 00 7b + c4 e3 d5 cf b2 00 f0 vgf2p8affineinvqb %ymm5, -0x00001000(%rdx), $0x7b, %ymm6 + ff ff 7b + c4 e3 d5 cf b2 e0 ef vgf2p8affineinvqb %ymm5, -0x00001020(%rdx), $0x7b, %ymm6 + ff ff 7b c4 e3 6d 4b fe 40 vblendvpd %ymm2, %ymm6, %ymm4, %ymm7 c4 e3 6d 4b 39 40 vblendvpd %ymm2, (%rcx), %ymm4, %ymm7 c4 e3 6d 4b 39 40 vblendvpd %ymm2, (%rcx), %ymm4, %ymm7 @@ -4325,6 +4442,19 @@ test_x86_64_s: c5 c8 c2 d4 1f vcmpps %xmm6, %xmm4, $0x1f, %xmm2 c5 c8 c2 39 1f vcmpps %xmm6, (%rcx), $0x1f, %xmm7 c5 c8 c2 39 1f vcmpps %xmm6, (%rcx), $0x1f, %xmm7 + c4 e2 51 cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 + c4 e2 51 cf 31 vgf2p8mulb %xmm5, (%rcx), %xmm6 + c4 e2 51 cf 31 vgf2p8mulb %xmm5, (%rcx), %xmm6 + c4 a2 51 cf b4 f0 c0 vgf2p8mulb %xmm5, -0x0001e240(%rax,%r14,8), %xmm6 + 1d fe ff + c4 e2 51 cf b2 f0 07 vgf2p8mulb %xmm5, 0x000007f0(%rdx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 08 vgf2p8mulb %xmm5, 0x00000800(%rdx), %xmm6 + 00 00 + c4 e2 51 cf b2 00 f8 vgf2p8mulb %xmm5, -0x00000800(%rdx), %xmm6 + ff ff + c4 e2 51 cf b2 f0 f7 vgf2p8mulb %xmm5, -0x00000810(%rdx), %xmm6 + ff ff c4 e2 59 2c 31 vmaskmovps %xmm4, (%rcx), %xmm6 c4 e2 59 2c 31 vmaskmovps %xmm4, (%rcx), %xmm6 c4 e2 59 2d 31 vmaskmovpd %xmm4, (%rcx), %xmm6 @@ -4405,6 +4535,34 @@ test_x86_64_s: c5 c8 c6 d4 07 vshufps %xmm6, %xmm4, $0x07, %xmm2 c5 c8 c6 11 07 vshufps %xmm6, (%rcx), $0x07, %xmm2 c5 c8 c6 11 07 vshufps %xmm6, (%rcx), $0x07, %xmm2 + c4 e3 d1 ce f4 ab vgf2p8affineqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 ce f4 7b vgf2p8affineqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 ce 31 7b vgf2p8affineqb %xmm5, (%rcx), $0x7b, %xmm6 + c4 e3 d1 ce 31 7b vgf2p8affineqb %xmm5, (%rcx), $0x7b, %xmm6 + c4 a3 d1 ce b4 f0 c0 vgf2p8affineqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 ce b2 f0 07 vgf2p8affineqb %xmm5, 0x000007f0(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 08 vgf2p8affineqb %xmm5, 0x00000800(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 ce b2 00 f8 vgf2p8affineqb %xmm5, -0x00000800(%rdx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 ce b2 f0 f7 vgf2p8affineqb %xmm5, -0x00000810(%rdx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf f4 ab vgf2p8affineinvqb %xmm5, %xmm4, $0xab, %xmm6 + c4 e3 d1 cf f4 7b vgf2p8affineinvqb %xmm5, %xmm4, $0x7b, %xmm6 + c4 e3 d1 cf 31 7b vgf2p8affineinvqb %xmm5, (%rcx), $0x7b, %xmm6 + c4 e3 d1 cf 31 7b vgf2p8affineinvqb %xmm5, (%rcx), $0x7b, %xmm6 + c4 a3 d1 cf b4 f0 c0 vgf2p8affineinvqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 cf b2 f0 07 vgf2p8affineinvqb %xmm5, 0x000007f0(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 08 vgf2p8affineinvqb %xmm5, 0x00000800(%rdx), $0x7b, %xmm6 + 00 00 7b + c4 e3 d1 cf b2 00 f8 vgf2p8affineinvqb %xmm5, -0x00000800(%rdx), $0x7b, %xmm6 + ff ff 7b + c4 e3 d1 cf b2 f0 f7 vgf2p8affineinvqb %xmm5, -0x00000810(%rdx), $0x7b, %xmm6 + ff ff 7b c4 e3 69 4b fe 40 vblendvpd %xmm2, %xmm6, %xmm4, %xmm7 c4 e3 69 4b 39 40 vblendvpd %xmm2, (%rcx), %xmm4, %xmm7 c4 e3 69 4b 39 40 vblendvpd %xmm2, (%rcx), %xmm4, %xmm7 @@ -5036,47 +5194,47 @@ test_x86_64_s: 00 00 07 c4 43 1d 4b b7 99 00 vblendvpd %ymm12, 0x99(%r15), %ymm8, %ymm14 00 00 80 - c5 f8 ae 15 99 00 00 vldmxcsr 0x0000000010005eaf + c5 f8 ae 15 99 00 00 vldmxcsr 0x00000000100061d9 00 - c5 79 6f 05 99 00 00 vmovdqa 0x0000000010005eb7, %xmm8 + c5 79 6f 05 99 00 00 vmovdqa 0x00000000100061e1, %xmm8 00 - c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x0000000010005ebf + c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x00000000100061e9 00 - c5 79 7e 05 99 00 00 vmovd %xmm8, 0x0000000010005ec7 + c5 79 7e 05 99 00 00 vmovd %xmm8, 0x00000000100061f1 00 - c5 7b 2d 05 99 00 00 vcvtsd2si 0x0000000010005ecf, %r8d + c5 7b 2d 05 99 00 00 vcvtsd2si 0x00000000100061f9, %r8d 00 - c5 7e e6 05 99 00 00 vcvtdq2pd 0x0000000010005ed7, %ymm8 + c5 7e e6 05 99 00 00 vcvtdq2pd 0x0000000010006201, %ymm8 00 - c5 7d 5a 05 99 00 00 vcvtpd2ps 0x0000000010005edf, %ymm8 + c5 7d 5a 05 99 00 00 vcvtpd2ps 0x0000000010006209, %ymm8 00 - c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x0000000010005ee7, %xmm15 + c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x0000000010006211, %xmm15 00 - c4 63 79 df 05 99 00 vaeskeygenassist 0x0000000010005ef1, $0x07, %xmm8 + c4 63 79 df 05 99 00 vaeskeygenassist 0x000000001000621b, $0x07, %xmm8 00 00 07 - c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x0000000010005efb + c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x0000000010006225 00 00 07 - c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x0000000010005f03, %xmm15 + c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x000000001000622d, %xmm15 00 - c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x0000000010005f0d, $0x07, %xmm15 + c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x0000000010006237, $0x07, %xmm15 00 00 07 - c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x0000000010005f17, %xmm8, %xmm14 + c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x0000000010006241, %xmm8, %xmm14 00 00 80 - c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x0000000010005f21, $0x07, %xmm15 + c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x000000001000624b, $0x07, %xmm15 00 00 07 - c5 7d 6f 05 99 00 00 vmovdqa 0x0000000010005f29, %ymm8 + c5 7d 6f 05 99 00 00 vmovdqa 0x0000000010006253, %ymm8 00 - c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x0000000010005f31 + c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x000000001000625b 00 - c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x0000000010005f3a, %ymm15 + c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x0000000010006264, %ymm15 00 00 - c4 63 7d 09 05 99 00 vroundpd 0x0000000010005f44, $0x07, %ymm8 + c4 63 7d 09 05 99 00 vroundpd 0x000000001000626e, $0x07, %ymm8 00 00 07 - c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x0000000010005f4e + c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x0000000010006278 00 00 07 - c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x0000000010005f58, $0x07, %ymm15 + c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x0000000010006282, $0x07, %ymm15 00 00 07 - c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x0000000010005f62, %ymm8, %ymm14 + c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x000000001000628c, %ymm8, %ymm14 00 00 80 c5 f8 ae 94 24 99 00 vldmxcsr 0x99(%rsp) 00 00 @@ -6578,14 +6736,14 @@ test_x86_64_s: c4 42 b3 f7 d7 shrx %r15, %r9, %r10 c4 62 b3 f7 11 shrx (%rcx), %r9, %r10 c4 e2 fb f7 31 shrx (%rcx), %rax, %rsi - 66 e9 00 00 89 c3 data16 jmp $0xffffffffd3897b41 - 66 e8 00 00 66 e9 data16 call $0xfffffffff9667b47 + 66 e9 00 00 89 c3 data16 jmp $0xffffffffd3897e6b + 66 e8 00 00 66 e9 data16 call $0xfffffffff9667e71 00 00 add %al, (%rax) 89 c3 mov %eax, %ebx - 66 e8 00 00 66 ff data16 call $0x000000000f667b51 + 66 e8 00 00 66 ff data16 call $0x000000000f667e7b d0 66 ff shlb $0x01, -0x01(%rsi) 10 66 ff adc %ah, -0x01(%rsi) - e0 66 loopne $0x0000000010007bbf + e0 66 loopne $0x0000000010007ee9 ff e0 jmp %rax 66 ff 20 data16 jmp (%rax) 66 ff d0 data16 call %rax @@ -6606,11 +6764,11 @@ test_x86_64_s: 66 ff e0 data16 jmp %rax 66 ff e0 data16 jmp %rax 66 ff 20 data16 jmp (%rax) - e8 00 00 00 00 call $0x0000000010007b95 - e9 00 00 00 00 jmp $0x0000000010007b9a - 66 e8 00 00 00 00 data16 call $0x0000000010007ba0 - 66 e9 00 00 00 00 data16 jmp $0x0000000010007ba6 - 66 0f 82 00 00 00 00 data16 jb $0x0000000010007bad + e8 00 00 00 00 call $0x0000000010007ebf + e9 00 00 00 00 jmp $0x0000000010007ec4 + 66 e8 00 00 00 00 data16 call $0x0000000010007eca + 66 e9 00 00 00 00 data16 jmp $0x0000000010007ed0 + 66 0f 82 00 00 00 00 data16 jb $0x0000000010007ed7 ff d0 call %rax ff d0 call %rax 66 ff d0 data16 call %rax @@ -6621,8 +6779,8 @@ test_x86_64_s: 66 ff e0 data16 jmp %rax 66 ff e0 data16 jmp %rax 66 ff 20 data16 jmp (%rax) - e8 00 00 00 00 call $0x0000000010007bcc - e9 00 00 00 00 jmp $0x0000000010007bd1 + e8 00 00 00 00 call $0x0000000010007ef6 + e9 00 00 00 00 jmp $0x0000000010007efb f8 clc 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 @@ -15002,7 +15160,7 @@ test_x86_64_s: 00 00 00 00 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) 00 - eb 05 jmp $0x000000001000b998 + eb 05 jmp $0x000000001000bcc2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15010,7 +15168,7 @@ test_x86_64_s: 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 f4 hlt - eb 05 jmp $0x000000001000b9b9 + eb 05 jmp $0x000000001000bce3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15019,7 +15177,7 @@ test_x86_64_s: 00 f4 hlt f4 hlt - eb 05 jmp $0x000000001000b9da + eb 05 jmp $0x000000001000bd04 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15028,7 +15186,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000b9fb + eb 05 jmp $0x000000001000bd25 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15038,7 +15196,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000ba1c + eb 05 jmp $0x000000001000bd46 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15049,7 +15207,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000ba3d + eb 05 jmp $0x000000001000bd67 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15061,7 +15219,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000ba5e + eb 05 jmp $0x000000001000bd88 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15074,7 +15232,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000ba7f + eb 05 jmp $0x000000001000bda9 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15088,7 +15246,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000baa0 + eb 05 jmp $0x000000001000bdca b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15103,7 +15261,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bac1 + eb 05 jmp $0x000000001000bdeb b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15118,7 +15276,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bae2 + eb 05 jmp $0x000000001000be0c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15134,7 +15292,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bb03 + eb 05 jmp $0x000000001000be2d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15151,7 +15309,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bb24 + eb 05 jmp $0x000000001000be4e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) @@ -15169,7 +15327,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bb45 + eb 05 jmp $0x000000001000be6f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) @@ -15187,7 +15345,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bb66 + eb 05 jmp $0x000000001000be90 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) @@ -15206,7 +15364,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bb87 + eb 05 jmp $0x000000001000beb1 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 44 00 00 nop 0x00(%rax,%rax) @@ -15226,7 +15384,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bba8 + eb 05 jmp $0x000000001000bed2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 40 00 nop 0x00(%rax) @@ -15247,7 +15405,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bbc9 + eb 05 jmp $0x000000001000bef3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 00 nop (%rax) @@ -15269,7 +15427,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bbea + eb 05 jmp $0x000000001000bf14 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -15292,7 +15450,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bc0b + eb 05 jmp $0x000000001000bf35 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -15316,7 +15474,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bc2c + eb 05 jmp $0x000000001000bf56 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -15340,7 +15498,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bc4d + eb 05 jmp $0x000000001000bf77 b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 40 00 nop 0x00(%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15371,7 +15529,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bc8e + eb 05 jmp $0x000000001000bfb8 b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 00 nop (%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15403,7 +15561,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bccf + eb 05 jmp $0x000000001000bff9 b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15436,7 +15594,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd10 + eb 05 jmp $0x000000001000c03a b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15470,7 +15628,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd51 + eb 05 jmp $0x000000001000c07b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15504,7 +15662,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 09 jmp $0x000000001000bd96 + eb 09 jmp $0x000000001000c0c0 0f 1f 40 00 nop 0x00(%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15539,7 +15697,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 08 jmp $0x000000001000bdd6 + eb 08 jmp $0x000000001000c100 0f 1f 00 nop (%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15576,7 +15734,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - eb 05 jmp $0x000000001000be18 + eb 05 jmp $0x000000001000c142 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15613,7 +15771,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - eb 05 jmp $0x000000001000be58 + eb 05 jmp $0x000000001000c182 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15651,7 +15809,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - eb 05 jmp $0x000000001000be98 + eb 05 jmp $0x000000001000c1c2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15690,14 +15848,14 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - eb 05 jmp $0x000000001000bed8 + eb 05 jmp $0x000000001000c202 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 - 74 05 jz $0x000000001000bef8 + 74 05 jz $0x000000001000c222 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15705,7 +15863,7 @@ test_x86_64_s: 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 f4 hlt - 74 05 jz $0x000000001000bf19 + 74 05 jz $0x000000001000c243 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15714,7 +15872,7 @@ test_x86_64_s: 00 f4 hlt f4 hlt - 74 05 jz $0x000000001000bf3a + 74 05 jz $0x000000001000c264 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15723,7 +15881,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000bf5b + 74 05 jz $0x000000001000c285 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15733,7 +15891,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000bf7c + 74 05 jz $0x000000001000c2a6 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15744,7 +15902,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000bf9d + 74 05 jz $0x000000001000c2c7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15756,7 +15914,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000bfbe + 74 05 jz $0x000000001000c2e8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15769,7 +15927,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000bfdf + 74 05 jz $0x000000001000c309 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15783,7 +15941,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c000 + 74 05 jz $0x000000001000c32a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15798,7 +15956,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c021 + 74 05 jz $0x000000001000c34b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15813,7 +15971,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c042 + 74 05 jz $0x000000001000c36c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15829,7 +15987,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c063 + 74 05 jz $0x000000001000c38d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15846,7 +16004,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c084 + 74 05 jz $0x000000001000c3ae b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) @@ -15864,7 +16022,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c0a5 + 74 05 jz $0x000000001000c3cf b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) @@ -15882,7 +16040,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c0c6 + 74 05 jz $0x000000001000c3f0 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) @@ -15901,7 +16059,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c0e7 + 74 05 jz $0x000000001000c411 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 44 00 00 nop 0x00(%rax,%rax) @@ -15921,7 +16079,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c108 + 74 05 jz $0x000000001000c432 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 40 00 nop 0x00(%rax) @@ -15942,7 +16100,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c129 + 74 05 jz $0x000000001000c453 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 00 nop (%rax) @@ -15964,7 +16122,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c14a + 74 05 jz $0x000000001000c474 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -15987,7 +16145,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c16b + 74 05 jz $0x000000001000c495 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -16011,7 +16169,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c18c + 74 05 jz $0x000000001000c4b6 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -16035,7 +16193,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c1ad + 74 05 jz $0x000000001000c4d7 b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 40 00 nop 0x00(%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16066,7 +16224,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c1ee + 74 05 jz $0x000000001000c518 b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 00 nop (%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16098,7 +16256,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c22f + 74 05 jz $0x000000001000c559 b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16131,7 +16289,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c270 + 74 05 jz $0x000000001000c59a b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16165,7 +16323,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c2b1 + 74 05 jz $0x000000001000c5db b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16199,7 +16357,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 09 jz $0x000000001000c2f6 + 74 09 jz $0x000000001000c620 0f 1f 40 00 nop 0x00(%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16235,7 +16393,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 74 05 jz $0x000000001000c338 + 74 05 jz $0x000000001000c662 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16271,7 +16429,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 74 05 jz $0x000000001000c378 + 74 05 jz $0x000000001000c6a2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16308,7 +16466,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 74 05 jz $0x000000001000c3b8 + 74 05 jz $0x000000001000c6e2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16346,7 +16504,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 74 05 jz $0x000000001000c3f8 + 74 05 jz $0x000000001000c722 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16385,14 +16543,14 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 74 05 jz $0x000000001000c438 + 74 05 jz $0x000000001000c762 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 - 3e 74 05 jz $0x000000001000c459 + 3e 74 05 jz $0x000000001000c783 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16400,7 +16558,7 @@ test_x86_64_s: 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) 00 f4 hlt - 3e 74 05 jz $0x000000001000c47a + 3e 74 05 jz $0x000000001000c7a4 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16408,7 +16566,7 @@ test_x86_64_s: 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c49b + 3e 74 05 jz $0x000000001000c7c5 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16417,7 +16575,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c4bc + 3e 74 05 jz $0x000000001000c7e6 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16427,7 +16585,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c4dd + 3e 74 05 jz $0x000000001000c807 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16438,7 +16596,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c4fe + 3e 74 05 jz $0x000000001000c828 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16450,7 +16608,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c51f + 3e 74 05 jz $0x000000001000c849 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16463,7 +16621,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c540 + 3e 74 05 jz $0x000000001000c86a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16477,7 +16635,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c561 + 3e 74 05 jz $0x000000001000c88b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16491,7 +16649,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c582 + 3e 74 05 jz $0x000000001000c8ac b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) @@ -16506,7 +16664,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c5a3 + 3e 74 05 jz $0x000000001000c8cd b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) @@ -16522,7 +16680,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c5c4 + 3e 74 05 jz $0x000000001000c8ee b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) @@ -16539,7 +16697,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c5e5 + 3e 74 05 jz $0x000000001000c90f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) @@ -16556,7 +16714,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c606 + 3e 74 05 jz $0x000000001000c930 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) @@ -16574,7 +16732,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c627 + 3e 74 05 jz $0x000000001000c951 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 44 00 00 nop 0x00(%rax,%rax) @@ -16593,7 +16751,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c648 + 3e 74 05 jz $0x000000001000c972 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 40 00 nop 0x00(%rax) @@ -16613,7 +16771,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c669 + 3e 74 05 jz $0x000000001000c993 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 00 nop (%rax) @@ -16634,7 +16792,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c68a + 3e 74 05 jz $0x000000001000c9b4 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -16656,7 +16814,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c6ab + 3e 74 05 jz $0x000000001000c9d5 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -16679,7 +16837,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c6cc + 3e 74 05 jz $0x000000001000c9f6 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -16702,7 +16860,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c6ed + 3e 74 05 jz $0x000000001000ca17 b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 40 00 nop 0x00(%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16732,7 +16890,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c72e + 3e 74 05 jz $0x000000001000ca58 b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 00 nop (%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16763,7 +16921,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c76f + 3e 74 05 jz $0x000000001000ca99 b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16795,7 +16953,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c7b0 + 3e 74 05 jz $0x000000001000cada b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16828,7 +16986,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c7f1 + 3e 74 05 jz $0x000000001000cb1b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16861,7 +17019,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 09 jz $0x000000001000c836 + 3e 74 09 jz $0x000000001000cb60 0f 1f 40 00 nop 0x00(%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16896,7 +17054,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) - 3e 74 05 jz $0x000000001000c879 + 3e 74 05 jz $0x000000001000cba3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16931,7 +17089,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 3e 74 05 jz $0x000000001000c8b9 + 3e 74 05 jz $0x000000001000cbe3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16967,7 +17125,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 3e 74 05 jz $0x000000001000c8f9 + 3e 74 05 jz $0x000000001000cc23 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17004,7 +17162,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 3e 74 05 jz $0x000000001000c939 + 3e 74 05 jz $0x000000001000cc63 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17042,7 +17200,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 3e 74 05 jz $0x000000001000c979 + 3e 74 05 jz $0x000000001000cca3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17081,14 +17239,14 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 3e 74 05 jz $0x000000001000c9b9 + 3e 74 05 jz $0x000000001000cce3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) 00 - e9 80 00 00 00 jmp $0x000000001000ca56 + e9 80 00 00 00 jmp $0x000000001000cd80 f8 clc f8 clc f8 clc @@ -17223,7 +17381,7 @@ test_x86_64_s: 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 f4 hlt - e9 80 00 00 00 jmp $0x000000001000caf7 + e9 80 00 00 00 jmp $0x000000001000ce21 f8 clc f8 clc f8 clc @@ -17359,7 +17517,7 @@ test_x86_64_s: 00 00 00 f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cb98 + e9 80 00 00 00 jmp $0x000000001000cec2 f8 clc f8 clc f8 clc @@ -17496,7 +17654,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cc39 + e9 80 00 00 00 jmp $0x000000001000cf63 f8 clc f8 clc f8 clc @@ -17634,7 +17792,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000ccda + e9 80 00 00 00 jmp $0x000000001000d004 f8 clc f8 clc f8 clc @@ -17772,7 +17930,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cd7b + e9 80 00 00 00 jmp $0x000000001000d0a5 f8 clc f8 clc f8 clc @@ -17911,7 +18069,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000ce1c + e9 80 00 00 00 jmp $0x000000001000d146 f8 clc f8 clc f8 clc @@ -18051,7 +18209,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cebd + e9 80 00 00 00 jmp $0x000000001000d1e7 f8 clc f8 clc f8 clc @@ -18192,7 +18350,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cf5e + e9 80 00 00 00 jmp $0x000000001000d288 f8 clc f8 clc f8 clc @@ -18334,7 +18492,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cfff + e9 80 00 00 00 jmp $0x000000001000d329 f8 clc f8 clc f8 clc @@ -18477,7 +18635,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d0a0 + e9 80 00 00 00 jmp $0x000000001000d3ca f8 clc f8 clc f8 clc @@ -18621,7 +18779,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d141 + e9 80 00 00 00 jmp $0x000000001000d46b f8 clc f8 clc f8 clc @@ -18765,7 +18923,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d1e2 + e9 80 00 00 00 jmp $0x000000001000d50c f8 clc f8 clc f8 clc @@ -18910,7 +19068,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d283 + e9 80 00 00 00 jmp $0x000000001000d5ad f8 clc f8 clc f8 clc @@ -19056,7 +19214,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d324 + e9 80 00 00 00 jmp $0x000000001000d64e f8 clc f8 clc f8 clc @@ -19203,7 +19361,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d3c5 + e9 80 00 00 00 jmp $0x000000001000d6ef f8 clc f8 clc f8 clc @@ -19350,7 +19508,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d466 + e9 80 00 00 00 jmp $0x000000001000d790 f8 clc f8 clc f8 clc @@ -19498,7 +19656,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d507 + e9 80 00 00 00 jmp $0x000000001000d831 f8 clc f8 clc f8 clc @@ -19647,7 +19805,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d5a8 + e9 80 00 00 00 jmp $0x000000001000d8d2 f8 clc f8 clc f8 clc @@ -19797,7 +19955,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d649 + e9 80 00 00 00 jmp $0x000000001000d973 f8 clc f8 clc f8 clc @@ -19948,7 +20106,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d6ea + e9 80 00 00 00 jmp $0x000000001000da14 f8 clc f8 clc f8 clc @@ -20100,7 +20258,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d78b + e9 80 00 00 00 jmp $0x000000001000dab5 f8 clc f8 clc f8 clc @@ -20253,7 +20411,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d82c + e9 80 00 00 00 jmp $0x000000001000db56 f8 clc f8 clc f8 clc @@ -20406,7 +20564,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d8cd + e9 80 00 00 00 jmp $0x000000001000dbf7 f8 clc f8 clc f8 clc @@ -20566,7 +20724,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d98e + e9 80 00 00 00 jmp $0x000000001000dcb8 f8 clc f8 clc f8 clc @@ -20727,7 +20885,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000da4f + e9 80 00 00 00 jmp $0x000000001000dd79 f8 clc f8 clc f8 clc @@ -20889,7 +21047,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000db10 + e9 80 00 00 00 jmp $0x000000001000de3a f8 clc f8 clc f8 clc @@ -21052,7 +21210,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000dbd1 + e9 80 00 00 00 jmp $0x000000001000defb f8 clc f8 clc f8 clc @@ -21216,7 +21374,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - e9 80 00 00 00 jmp $0x000000001000dc96 + e9 80 00 00 00 jmp $0x000000001000dfc0 f8 clc f8 clc f8 clc @@ -21380,7 +21538,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - e9 80 00 00 00 jmp $0x000000001000dd56 + e9 80 00 00 00 jmp $0x000000001000e080 f8 clc f8 clc f8 clc @@ -21545,7 +21703,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - e9 80 00 00 00 jmp $0x000000001000de16 + e9 80 00 00 00 jmp $0x000000001000e140 f8 clc f8 clc f8 clc @@ -21711,7 +21869,7 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - e9 80 00 00 00 jmp $0x000000001000ded6 + e9 80 00 00 00 jmp $0x000000001000e200 f8 clc f8 clc f8 clc @@ -21845,7 +22003,7 @@ test_x86_64_s: 00 00 00 00 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 - 0f 84 80 00 00 00 jz $0x000000001000df77 + 0f 84 80 00 00 00 jz $0x000000001000e2a1 f8 clc f8 clc f8 clc @@ -21980,7 +22138,7 @@ test_x86_64_s: 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e018 + 0f 84 80 00 00 00 jz $0x000000001000e342 f8 clc f8 clc f8 clc @@ -22116,7 +22274,7 @@ test_x86_64_s: 00 00 f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e0b9 + 0f 84 80 00 00 00 jz $0x000000001000e3e3 f8 clc f8 clc f8 clc @@ -22253,7 +22411,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e15a + 0f 84 80 00 00 00 jz $0x000000001000e484 f8 clc f8 clc f8 clc @@ -22390,7 +22548,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e1fb + 0f 84 80 00 00 00 jz $0x000000001000e525 f8 clc f8 clc f8 clc @@ -22528,7 +22686,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e29c + 0f 84 80 00 00 00 jz $0x000000001000e5c6 f8 clc f8 clc f8 clc @@ -22667,7 +22825,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e33d + 0f 84 80 00 00 00 jz $0x000000001000e667 f8 clc f8 clc f8 clc @@ -22807,7 +22965,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e3de + 0f 84 80 00 00 00 jz $0x000000001000e708 f8 clc f8 clc f8 clc @@ -22948,7 +23106,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e47f + 0f 84 80 00 00 00 jz $0x000000001000e7a9 f8 clc f8 clc f8 clc @@ -23090,7 +23248,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e520 + 0f 84 80 00 00 00 jz $0x000000001000e84a f8 clc f8 clc f8 clc @@ -23233,7 +23391,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e5c1 + 0f 84 80 00 00 00 jz $0x000000001000e8eb f8 clc f8 clc f8 clc @@ -23376,7 +23534,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e662 + 0f 84 80 00 00 00 jz $0x000000001000e98c f8 clc f8 clc f8 clc @@ -23520,7 +23678,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e703 + 0f 84 80 00 00 00 jz $0x000000001000ea2d f8 clc f8 clc f8 clc @@ -23665,7 +23823,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e7a4 + 0f 84 80 00 00 00 jz $0x000000001000eace f8 clc f8 clc f8 clc @@ -23811,7 +23969,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e845 + 0f 84 80 00 00 00 jz $0x000000001000eb6f f8 clc f8 clc f8 clc @@ -23957,7 +24115,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e8e6 + 0f 84 80 00 00 00 jz $0x000000001000ec10 f8 clc f8 clc f8 clc @@ -24104,7 +24262,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e987 + 0f 84 80 00 00 00 jz $0x000000001000ecb1 f8 clc f8 clc f8 clc @@ -24252,7 +24410,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ea28 + 0f 84 80 00 00 00 jz $0x000000001000ed52 f8 clc f8 clc f8 clc @@ -24401,7 +24559,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000eac9 + 0f 84 80 00 00 00 jz $0x000000001000edf3 f8 clc f8 clc f8 clc @@ -24551,7 +24709,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000eb6a + 0f 84 80 00 00 00 jz $0x000000001000ee94 f8 clc f8 clc f8 clc @@ -24702,7 +24860,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ec0b + 0f 84 80 00 00 00 jz $0x000000001000ef35 f8 clc f8 clc f8 clc @@ -24854,7 +25012,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ecac + 0f 84 80 00 00 00 jz $0x000000001000efd6 f8 clc f8 clc f8 clc @@ -25006,7 +25164,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ed4d + 0f 84 80 00 00 00 jz $0x000000001000f077 f8 clc f8 clc f8 clc @@ -25165,7 +25323,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ee0e + 0f 84 80 00 00 00 jz $0x000000001000f138 f8 clc f8 clc f8 clc @@ -25325,7 +25483,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000eecf + 0f 84 80 00 00 00 jz $0x000000001000f1f9 f8 clc f8 clc f8 clc @@ -25486,7 +25644,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ef90 + 0f 84 80 00 00 00 jz $0x000000001000f2ba f8 clc f8 clc f8 clc @@ -25648,7 +25806,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000f051 + 0f 84 80 00 00 00 jz $0x000000001000f37b f8 clc f8 clc f8 clc @@ -25811,7 +25969,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 0f 84 80 00 00 00 jz $0x000000001000f117 + 0f 84 80 00 00 00 jz $0x000000001000f441 f8 clc f8 clc f8 clc @@ -25974,7 +26132,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 0f 84 80 00 00 00 jz $0x000000001000f1d7 + 0f 84 80 00 00 00 jz $0x000000001000f501 f8 clc f8 clc f8 clc @@ -26138,7 +26296,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 0f 84 80 00 00 00 jz $0x000000001000f297 + 0f 84 80 00 00 00 jz $0x000000001000f5c1 f8 clc f8 clc f8 clc @@ -26303,7 +26461,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 0f 84 80 00 00 00 jz $0x000000001000f357 + 0f 84 80 00 00 00 jz $0x000000001000f681 f8 clc f8 clc f8 clc @@ -26469,7 +26627,7 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 0f 84 80 00 00 00 jz $0x000000001000f417 + 0f 84 80 00 00 00 jz $0x000000001000f741 f8 clc f8 clc f8 clc @@ -26603,7 +26761,7 @@ test_x86_64_s: 00 00 00 00 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 - 3e 0f 84 80 00 00 00 jz $0x000000001000f4b8 + 3e 0f 84 80 00 00 00 jz $0x000000001000f7e2 f8 clc f8 clc f8 clc @@ -26738,7 +26896,7 @@ test_x86_64_s: 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f559 + 3e 0f 84 80 00 00 00 jz $0x000000001000f883 f8 clc f8 clc f8 clc @@ -26874,7 +27032,7 @@ test_x86_64_s: 00 f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f5fa + 3e 0f 84 80 00 00 00 jz $0x000000001000f924 f8 clc f8 clc f8 clc @@ -27010,7 +27168,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f69b + 3e 0f 84 80 00 00 00 jz $0x000000001000f9c5 f8 clc f8 clc f8 clc @@ -27147,7 +27305,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f73c + 3e 0f 84 80 00 00 00 jz $0x000000001000fa66 f8 clc f8 clc f8 clc @@ -27285,7 +27443,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f7dd + 3e 0f 84 80 00 00 00 jz $0x000000001000fb07 f8 clc f8 clc f8 clc @@ -27424,7 +27582,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f87e + 3e 0f 84 80 00 00 00 jz $0x000000001000fba8 f8 clc f8 clc f8 clc @@ -27564,7 +27722,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f91f + 3e 0f 84 80 00 00 00 jz $0x000000001000fc49 f8 clc f8 clc f8 clc @@ -27705,7 +27863,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f9c0 + 3e 0f 84 80 00 00 00 jz $0x000000001000fcea f8 clc f8 clc f8 clc @@ -27847,7 +28005,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fa61 + 3e 0f 84 80 00 00 00 jz $0x000000001000fd8b f8 clc f8 clc f8 clc @@ -27989,7 +28147,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fb02 + 3e 0f 84 80 00 00 00 jz $0x000000001000fe2c f8 clc f8 clc f8 clc @@ -28132,7 +28290,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fba3 + 3e 0f 84 80 00 00 00 jz $0x000000001000fecd f8 clc f8 clc f8 clc @@ -28276,7 +28434,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fc44 + 3e 0f 84 80 00 00 00 jz $0x000000001000ff6e f8 clc f8 clc f8 clc @@ -28421,7 +28579,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fce5 + 3e 0f 84 80 00 00 00 jz $0x000000001001000f f8 clc f8 clc f8 clc @@ -28566,7 +28724,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fd86 + 3e 0f 84 80 00 00 00 jz $0x00000000100100b0 f8 clc f8 clc f8 clc @@ -28712,7 +28870,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fe27 + 3e 0f 84 80 00 00 00 jz $0x0000000010010151 f8 clc f8 clc f8 clc @@ -28859,7 +29017,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fec8 + 3e 0f 84 80 00 00 00 jz $0x00000000100101f2 f8 clc f8 clc f8 clc @@ -29007,7 +29165,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000ff69 + 3e 0f 84 80 00 00 00 jz $0x0000000010010293 f8 clc f8 clc f8 clc @@ -29156,7 +29314,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001001000a + 3e 0f 84 80 00 00 00 jz $0x0000000010010334 f8 clc f8 clc f8 clc @@ -29306,7 +29464,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100100ab + 3e 0f 84 80 00 00 00 jz $0x00000000100103d5 f8 clc f8 clc f8 clc @@ -29457,7 +29615,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001001014c + 3e 0f 84 80 00 00 00 jz $0x0000000010010476 f8 clc f8 clc f8 clc @@ -29608,7 +29766,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100101ed + 3e 0f 84 80 00 00 00 jz $0x0000000010010517 f8 clc f8 clc f8 clc @@ -29766,7 +29924,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100102ae + 3e 0f 84 80 00 00 00 jz $0x00000000100105d8 f8 clc f8 clc f8 clc @@ -29925,7 +30083,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001001036f + 3e 0f 84 80 00 00 00 jz $0x0000000010010699 f8 clc f8 clc f8 clc @@ -30085,7 +30243,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010430 + 3e 0f 84 80 00 00 00 jz $0x000000001001075a f8 clc f8 clc f8 clc @@ -30246,7 +30404,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100104f1 + 3e 0f 84 80 00 00 00 jz $0x000000001001081b f8 clc f8 clc f8 clc @@ -30408,7 +30566,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) - 3e 0f 84 80 00 00 00 jz $0x00000000100105b8 + 3e 0f 84 80 00 00 00 jz $0x00000000100108e2 f8 clc f8 clc f8 clc @@ -30570,7 +30728,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 3e 0f 84 80 00 00 00 jz $0x0000000010010678 + 3e 0f 84 80 00 00 00 jz $0x00000000100109a2 f8 clc f8 clc f8 clc @@ -30733,7 +30891,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 3e 0f 84 80 00 00 00 jz $0x0000000010010738 + 3e 0f 84 80 00 00 00 jz $0x0000000010010a62 f8 clc f8 clc f8 clc @@ -30897,7 +31055,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 3e 0f 84 80 00 00 00 jz $0x00000000100107f8 + 3e 0f 84 80 00 00 00 jz $0x0000000010010b22 f8 clc f8 clc f8 clc @@ -31062,7 +31220,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 3e 0f 84 80 00 00 00 jz $0x00000000100108b8 + 3e 0f 84 80 00 00 00 jz $0x0000000010010be2 f8 clc f8 clc f8 clc @@ -31228,7 +31386,7 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 3e 0f 84 80 00 00 00 jz $0x0000000010010978 + 3e 0f 84 80 00 00 00 jz $0x0000000010010ca2 f8 clc f8 clc f8 clc @@ -31487,9 +31645,9 @@ test_x86_64_s: 8b 98 ff 0f 00 00 mov 0x00000fff(%rax), %ebx 8b 98 00 00 00 00 mov 0x00000000(%rax), %ebx 8b 98 03 00 00 00 mov 0x00000003(%rax), %ebx - eb 07 jmp $0x0000000010010c03 - eb 05 jmp $0x0000000010010c03 - e9 00 00 00 00 jmp $0x0000000010010c03 + eb 07 jmp $0x0000000010010f2d + eb 05 jmp $0x0000000010010f2d + e9 00 00 00 00 jmp $0x0000000010010f2d 89 18 mov %ebx, (%rax) 89 58 03 mov %ebx, 0x03(%rax) 89 98 ff 0f 00 00 mov %ebx, 0x00000fff(%rax) @@ -32282,24 +32440,24 @@ test_x86_64_s: 0f 01 18 lidt (%rax) 0f 01 00 sgdt (%rax) 0f 01 10 lgdt (%rax) - 48 8b 05 00 00 00 00 mov 0x0000000010011b87, %rax + 48 8b 05 00 00 00 00 mov 0x0000000010011eb1, %rax 48 c7 c0 00 00 00 00 mov $0x00000000, %rax 48 8b 04 25 00 00 00 mov 0x00, %rax 00 - 48 8b 05 00 00 00 00 mov 0x0000000010011b9d, %rax + 48 8b 05 00 00 00 00 mov 0x0000000010011ec7, %rax 48 8b 81 00 00 00 00 mov 0x00000000(%rcx), %rax - ff 15 00 00 00 00 call 0x0000000010011baa + ff 15 00 00 00 00 call 0x0000000010011ed4 ff 90 00 00 00 00 call 0x00000000(%rax) - ff 25 00 00 00 00 jmp 0x0000000010011bb6 + ff 25 00 00 00 00 jmp 0x0000000010011ee0 ff a1 00 00 00 00 jmp 0x00000000(%rcx) 48 c7 c0 00 00 00 00 mov $0x00000000, %rax 48 8b 04 25 00 00 00 mov 0x00, %rax 00 - 48 8b 05 00 00 00 00 mov 0x0000000010011bd2, %rax + 48 8b 05 00 00 00 00 mov 0x0000000010011efc, %rax 48 8b 81 00 00 00 00 mov 0x00000000(%rcx), %rax - ff 15 00 00 00 00 call 0x0000000010011bdf + ff 15 00 00 00 00 call 0x0000000010011f09 ff 90 00 00 00 00 call 0x00000000(%rax) - ff 25 00 00 00 00 jmp 0x0000000010011beb + ff 25 00 00 00 00 jmp 0x0000000010011f15 ff a1 00 00 00 00 jmp 0x00000000(%rcx) f2 f0 80 11 64 xacquire lock adcb $0x64, (%rcx) f2 f0 80 11 64 xacquire lock adcb $0x64, (%rcx) @@ -34098,8 +34256,8 @@ test_x86_64_s: 66 48 6d insd 48 6f outsd 66 48 6f outsd - eb fe jmp $0x0000000010013f2c - e9 00 00 00 00 jmp $0x0000000010013f33 + eb fe jmp $0x0000000010014256 + e9 00 00 00 00 jmp $0x000000001001425d ff 24 25 00 00 00 00 jmp 0x00 ff e7 jmp %rdi ff 27 jmp (%rdi) @@ -34109,8 +34267,8 @@ test_x86_64_s: ff 2c 25 00 00 00 00 ljmp 0x00 66 ff 2c 25 00 00 00 data16 ljmp 0x00 00 - e8 cb ff ff ff call $0x0000000010013f2c - e8 00 00 00 00 call $0x0000000010013f66 + e8 cb ff ff ff call $0x0000000010014256 + e8 00 00 00 00 call $0x0000000010014290 ff 14 25 00 00 00 00 call 0x00 ff d7 call %rdi ff 17 call (%rdi) @@ -34120,22 +34278,22 @@ test_x86_64_s: ff 1c 25 00 00 00 00 lcall 0x00 66 ff 1c 25 00 00 00 data16 lcall 0x00 00 - 67 e3 00 addr32 jecxz $0x0000000010013f92 + 67 e3 00 addr32 jecxz $0x00000000100142bc 90 nop - e3 00 jrcxz $0x0000000010013f95 + e3 00 jrcxz $0x00000000100142bf 90 nop 66 ff 13 data16 call (%rbx) ff 1b lcall (%rbx) 66 ff 23 data16 jmp (%rbx) ff 2b ljmp (%rbx) - eb 00 jmp $0x0000000010013fa2 + eb 00 jmp $0x00000000100142cc 90 nop - 67 e3 00 addr32 jecxz $0x0000000010013fa6 + 67 e3 00 addr32 jecxz $0x00000000100142d0 90 nop - e3 00 jrcxz $0x0000000010013fa9 + e3 00 jrcxz $0x00000000100142d3 90 nop - eb 00 jmp $0x0000000010013fac - 48 8b 05 00 00 00 00 mov 0x0000000010013fb3, %rax + eb 00 jmp $0x00000000100142d6 + 48 8b 05 00 00 00 00 mov 0x00000000100142dd, %rax f0 01 03 lock add %eax, (%rbx) f0 83 03 64 lock addl $0x64, (%rbx) f0 11 03 lock adc %eax, (%rbx) @@ -34901,11 +35059,11 @@ test_x86_64_s: 48 0f c3 00 movnti %rax, (%rax) 4d 0f c3 00 movnti %r8, (%r8) 4c 0f c3 00 movnti %r8, (%rax) - e2 fe loop $0x0000000010014e43 - e2 fe loop $0x0000000010014e45 - 67 e2 fd addr32 loop $0x0000000010014e47 - e3 fe jrcxz $0x0000000010014e4a - 67 e3 fd addr32 jecxz $0x0000000010014e4c + e2 fe loop $0x000000001001516d + e2 fe loop $0x000000001001516f + 67 e2 fd addr32 loop $0x0000000010015171 + e3 fe jrcxz $0x0000000010015174 + 67 e3 fd addr32 jecxz $0x0000000010015176 41 f6 38 idiv (%r8), %ax f6 38 idiv (%rax), %ax 66 41 f7 38 data16 idiv (%r8), %dx, %ax @@ -35579,14 +35737,14 @@ test_x86_64_s: 0f 73 f6 02 psllq $0x02, %mm6 66 0f 73 f2 02 psllq $0x02, %xmm2 66 0f 73 fa 02 pslldq $0x02, %xmm2 - 0f 84 6b 02 00 00 jz $0x0000000010015a49 + 0f 84 6b 02 00 00 jz $0x0000000010015d73 90 nop 90 nop 90 nop 90 nop 90 nop 90 nop - 0f 84 5f 02 00 00 jz $0x0000000010015a49 + 0f 84 5f 02 00 00 jz $0x0000000010015d73 90 nop 90 nop 90 nop @@ -35721,12 +35879,12 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 74 ff ff ff jz $0x00000000100157ea + 0f 84 74 ff ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop 90 nop - 0f 84 6a ff ff ff jz $0x00000000100157ea + 0f 84 6a ff ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35735,7 +35893,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 bb 01 00 00 jz $0x0000000010015a49 + 0f 84 bb 01 00 00 jz $0x0000000010015d73 90 nop 90 nop 90 nop @@ -35746,24 +35904,24 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 4c ff ff ff jz $0x00000000100157ea + 0f 84 4c ff ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop 90 nop - 0f 84 42 ff ff ff jz $0x00000000100157ea + 0f 84 42 ff ff ff jz $0x0000000010015b14 4c 8b b4 24 30 01 00 mov 0x00000130(%rsp), %r14 00 90 nop 90 nop - 0f 84 32 ff ff ff jz $0x00000000100157ea - 0f 84 2c ff ff ff jz $0x00000000100157ea + 0f 84 32 ff ff ff jz $0x0000000010015b14 + 0f 84 2c ff ff ff jz $0x0000000010015b14 4c 8b b4 24 00 01 00 mov 0x00000100(%rsp), %r14 00 90 nop 90 nop 90 nop - 0f 84 7a 01 00 00 jz $0x0000000010015a49 + 0f 84 7a 01 00 00 jz $0x0000000010015d73 90 nop 90 nop 90 nop @@ -35774,7 +35932,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 0b ff ff ff jz $0x00000000100157ea + 0f 84 0b ff ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35788,18 +35946,18 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 f8 fe ff ff jz $0x00000000100157ea + 0f 84 f8 fe ff ff jz $0x0000000010015b14 48 8d b4 24 b0 01 00 lea 0x000001b0(%rsp), %rsi 00 - 0f 84 ea fe ff ff jz $0x00000000100157ea + 0f 84 ea fe ff ff jz $0x0000000010015b14 4c 8b b4 24 b0 00 00 mov 0xb0(%rsp), %r14 00 - 0f 84 3b 01 00 00 jz $0x0000000010015a49 - 0f 84 d6 fe ff ff jz $0x00000000100157ea - 0f 84 d0 fe ff ff jz $0x00000000100157ea + 0f 84 3b 01 00 00 jz $0x0000000010015d73 + 0f 84 d6 fe ff ff jz $0x0000000010015b14 + 0f 84 d0 fe ff ff jz $0x0000000010015b14 48 8d b4 24 a8 01 00 lea 0x000001a8(%rsp), %rsi 00 - 0f 84 c2 fe ff ff jz $0x00000000100157ea + 0f 84 c2 fe ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35822,7 +35980,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 a6 fe ff ff jz $0x00000000100157ea + 0f 84 a6 fe ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35834,10 +35992,10 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 95 fe ff ff jz $0x00000000100157ea + 0f 84 95 fe ff ff jz $0x0000000010015b14 48 8d b4 24 a0 01 00 lea 0x000001a0(%rsp), %rsi 00 - 0f 84 87 fe ff ff jz $0x00000000100157ea + 0f 84 87 fe ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35859,7 +36017,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 cb 00 00 00 jz $0x0000000010015a49 + 0f 84 cb 00 00 00 jz $0x0000000010015d73 90 nop 90 nop 90 nop @@ -35868,7 +36026,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 5e fe ff ff jz $0x00000000100157ea + 0f 84 5e fe ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35880,7 +36038,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 4d fe ff ff jz $0x00000000100157ea + 0f 84 4d fe ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35888,7 +36046,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 40 fe ff ff jz $0x00000000100157ea + 0f 84 40 fe ff ff jz $0x0000000010015b14 90 nop 90 nop 90 nop @@ -35911,7 +36069,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 83 00 00 00 jz $0x0000000010015a49 + 0f 84 83 00 00 00 jz $0x0000000010015d73 90 nop 90 nop 90 nop @@ -36051,13 +36209,13 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 24 01 00 00 jz $0x0000000010015b8d + 0f 84 24 01 00 00 jz $0x0000000010015eb7 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 0f 1f 40 00 nop 0x00(%rax) 90 nop 90 nop - 0f 84 0d 01 00 00 jz $0x0000000010015b8d + 0f 84 0d 01 00 00 jz $0x0000000010015eb7 90 nop 90 nop 90 nop @@ -36095,7 +36253,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 e2 00 00 00 jz $0x0000000010015b8d + 0f 84 e2 00 00 00 jz $0x0000000010015eb7 90 nop 90 nop 90 nop @@ -36155,7 +36313,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 a1 00 00 00 jz $0x0000000010015b8d + 0f 84 a1 00 00 00 jz $0x0000000010015eb7 90 nop 90 nop 90 nop @@ -36224,7 +36382,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 74 06 jz $0x0000000010015b38 + 74 06 jz $0x0000000010015e62 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) 90 nop 90 nop @@ -36376,17 +36534,17 @@ test_x86_64_s: 67 f3 48 ab addr32 rep stosq 67 f3 48 a7 addr32 rep cmpsq 67 f3 48 af addr32 rep scasq - 8d 05 00 00 00 00 lea 0x0000000010015c4e, %eax - 8d 05 11 11 11 11 lea 0x0000000021126d65, %eax - 8d 05 01 00 00 00 lea 0x0000000010015c5b, %eax - 8d 05 00 00 00 00 lea 0x0000000010015c60, %eax + 8d 05 00 00 00 00 lea 0x0000000010015f78, %eax + 8d 05 11 11 11 11 lea 0x000000002112708f, %eax + 8d 05 01 00 00 00 lea 0x0000000010015f85, %eax + 8d 05 00 00 00 00 lea 0x0000000010015f8a, %eax c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x0000000010015c63 - c7 f8 00 00 00 00 xbegin $0x0000000010015c6f + c7 f8 fa ff ff ff xbegin $0x0000000010015f8d + c7 f8 00 00 00 00 xbegin $0x0000000010015f99 0f 01 d5 xend c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x0000000010015c75 - c7 f8 00 00 00 00 xbegin $0x0000000010015c81 + c7 f8 fa ff ff ff xbegin $0x0000000010015f9f + c7 f8 00 00 00 00 xbegin $0x0000000010015fab 0f 01 d5 xend 0f 01 d6 xtest 8c 18 mov %ds, (%rax) @@ -36482,17 +36640,17 @@ test_x86_64_s: 41 8b 04 64 mov (%r12), %eax 41 8b 04 a4 mov (%r12), %eax 41 8b 04 e4 mov (%r12), %eax - f2 0f d0 0d 78 56 34 addsubps 0x000000002235b47d, %xmm1 + f2 0f d0 0d 78 56 34 addsubps 0x000000002235b7a7, %xmm1 12 - 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b485 + 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b7af 12 - 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b48c - f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b494, %xmm1 + 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b7b6 + f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b7be, %xmm1 12 - f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b49c, %xmm1 + f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b7c6, %xmm1 12 - 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b4a3, %xmm1 - f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b4ab, %xmm1 + 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b7cd, %xmm1 + f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b7d5, %xmm1 12 f3 0f 2a c8 cvtsi2ss %eax, %xmm1 f2 0f 2a c8 cvtsi2sd %eax, %xmm1 @@ -36508,50 +36666,50 @@ test_x86_64_s: f2 0f 2a 08 cvtsi2sd (%rax), %xmm1 f3 48 0f 2a 08 cvtsi2ss (%rax), %xmm1 f2 48 0f 2a 08 cvtsi2sd (%rax), %xmm1 - f2 0f 7c 0d 78 56 34 haddps 0x000000002235b4f1, %xmm1 + f2 0f 7c 0d 78 56 34 haddps 0x000000002235b81b, %xmm1 12 - f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b4f9 + f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b823 12 - f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b501, %xmm1 + f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b82b, %xmm1 12 - 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b509 + 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b833 12 - 66 0f 16 0d 78 56 34 movhpd 0x000000002235b511, %xmm1 + 66 0f 16 0d 78 56 34 movhpd 0x000000002235b83b, %xmm1 12 - 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b518 - 0f 16 0d 78 56 34 12 movhps 0x000000002235b51f, %xmm1 - 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b527 + 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b842 + 0f 16 0d 78 56 34 12 movhps 0x000000002235b849, %xmm1 + 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b851 12 - 66 0f 12 0d 78 56 34 movlpd 0x000000002235b52f, %xmm1 + 66 0f 12 0d 78 56 34 movlpd 0x000000002235b859, %xmm1 12 - 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b536 - 0f 12 0d 78 56 34 12 movlps 0x000000002235b53d, %xmm1 - 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b545 + 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b860 + 0f 12 0d 78 56 34 12 movlps 0x000000002235b867, %xmm1 + 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b86f 12 - f3 0f 7e 0d 78 56 34 movq 0x000000002235b54d, %xmm1 + f3 0f 7e 0d 78 56 34 movq 0x000000002235b877, %xmm1 12 - f3 0f 16 0d 78 56 34 movshdup 0x000000002235b555, %xmm1 + f3 0f 16 0d 78 56 34 movshdup 0x000000002235b87f, %xmm1 12 - f3 0f 12 0d 78 56 34 movsldup 0x000000002235b55d, %xmm1 + f3 0f 12 0d 78 56 34 movsldup 0x000000002235b887, %xmm1 12 - f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b566, $0x90, %xmm1 + f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b890, $0x90, %xmm1 12 90 - f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b56f, $0x90, %xmm1 + f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b899, $0x90, %xmm1 12 90 - 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b576, %mm1 - 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b57d, %mm1 - 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b584, %mm1 - 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b58c, %xmm1 + 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b8a0, %mm1 + 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b8a7, %mm1 + 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b8ae, %mm1 + 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b8b6, %xmm1 12 - 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b594, %xmm1 + 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b8be, %xmm1 12 - 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b59c, %xmm1 + 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b8c6, %xmm1 12 - 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b5a4, %xmm1 + 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b8ce, %xmm1 12 - 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b5ac + 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b8d6 12 - 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b5b3 + 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b8dd f2 0f c2 00 00 cmpsd (%rax), $0x00, %xmm0 f3 0f c2 00 00 cmpss (%rax), $0x00, %xmm0 66 0f 2a 00 cvtpi2pd (%rax), %xmm0 @@ -36622,17 +36780,17 @@ test_x86_64_s: 0f f4 00 pmuludq (%rax), %mm0 66 0f f4 c1 pmuludq %xmm1, %xmm0 66 0f f4 00 pmuludq (%rax), %xmm0 - f2 0f d0 0d 78 56 34 addsubps 0x000000002235b6e5, %xmm1 + f2 0f d0 0d 78 56 34 addsubps 0x000000002235ba0f, %xmm1 12 - 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b6ed + 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235ba17 12 - 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b6f4 - f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b6fc, %xmm1 + 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235ba1e + f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235ba26, %xmm1 12 - f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b704, %xmm1 + f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235ba2e, %xmm1 12 - 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b70b, %xmm1 - f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b713, %xmm1 + 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235ba35, %xmm1 + f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235ba3d, %xmm1 12 f3 0f 2a c8 cvtsi2ss %eax, %xmm1 f2 0f 2a c8 cvtsi2sd %eax, %xmm1 @@ -36650,50 +36808,50 @@ test_x86_64_s: f2 48 0f 2a 08 cvtsi2sd (%rax), %xmm1 f3 48 0f 2a 08 cvtsi2ss (%rax), %xmm1 f2 48 0f 2a 08 cvtsi2sd (%rax), %xmm1 - f2 0f 7c 0d 78 56 34 haddps 0x000000002235b763, %xmm1 + f2 0f 7c 0d 78 56 34 haddps 0x000000002235ba8d, %xmm1 12 - f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b76b + f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235ba95 12 - f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b773, %xmm1 + f3 0f 6f 0d 78 56 34 movdqu 0x000000002235ba9d, %xmm1 12 - 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b77b + 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235baa5 12 - 66 0f 16 0d 78 56 34 movhpd 0x000000002235b783, %xmm1 + 66 0f 16 0d 78 56 34 movhpd 0x000000002235baad, %xmm1 12 - 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b78a - 0f 16 0d 78 56 34 12 movhps 0x000000002235b791, %xmm1 - 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b799 + 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235bab4 + 0f 16 0d 78 56 34 12 movhps 0x000000002235babb, %xmm1 + 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235bac3 12 - 66 0f 12 0d 78 56 34 movlpd 0x000000002235b7a1, %xmm1 + 66 0f 12 0d 78 56 34 movlpd 0x000000002235bacb, %xmm1 12 - 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b7a8 - 0f 12 0d 78 56 34 12 movlps 0x000000002235b7af, %xmm1 - 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b7b7 + 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235bad2 + 0f 12 0d 78 56 34 12 movlps 0x000000002235bad9, %xmm1 + 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235bae1 12 - f3 0f 7e 0d 78 56 34 movq 0x000000002235b7bf, %xmm1 + f3 0f 7e 0d 78 56 34 movq 0x000000002235bae9, %xmm1 12 - f3 0f 16 0d 78 56 34 movshdup 0x000000002235b7c7, %xmm1 + f3 0f 16 0d 78 56 34 movshdup 0x000000002235baf1, %xmm1 12 - f3 0f 12 0d 78 56 34 movsldup 0x000000002235b7cf, %xmm1 + f3 0f 12 0d 78 56 34 movsldup 0x000000002235baf9, %xmm1 12 - f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b7d8, $0x90, %xmm1 + f3 0f 70 0d 78 56 34 pshufhw 0x000000002235bb02, $0x90, %xmm1 12 90 - f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b7e1, $0x90, %xmm1 + f2 0f 70 0d 78 56 34 pshuflw 0x000000002235bb0b, $0x90, %xmm1 12 90 - 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b7e8, %mm1 - 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b7ef, %mm1 - 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b7f6, %mm1 - 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b7fe, %xmm1 + 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235bb12, %mm1 + 0f 62 0d 78 56 34 12 punpckldq 0x000000002235bb19, %mm1 + 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235bb20, %mm1 + 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235bb28, %xmm1 12 - 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b806, %xmm1 + 66 0f 62 0d 78 56 34 punpckldq 0x000000002235bb30, %xmm1 12 - 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b80e, %xmm1 + 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235bb38, %xmm1 12 - 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b816, %xmm1 + 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235bb40, %xmm1 12 - 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b81e + 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235bb48 12 - 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b825 + 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235bb4f f2 0f c2 00 00 cmpsd (%rax), $0x00, %xmm0 f3 0f c2 00 00 cmpss (%rax), $0x00, %xmm0 66 0f 2a 00 cvtpi2pd (%rax), %xmm0 @@ -39002,9 +39160,9 @@ test_x86_64_s: 8f e9 78 01 20 tzmsk (%rax), %eax 24 01 and $0x01, %al 00 00 add %al, (%rax) - 7b 62 jnp $0x0000000010018c4c - 63 15 20 44 72 7f movsxd 0x000000008f73d010, %edx - 7b 34 jnp $0x0000000010018c26 + 7b 62 jnp $0x0000000010018f76 + 63 15 20 44 72 7f movsxd 0x000000008f73d33a, %edx + 7b 34 jnp $0x0000000010018f50 12 00 adc (%rax), %al 00 7b f3 add %bh, -0x0d(%rbx) 0f ae f0 mfence @@ -40991,7 +41149,7 @@ test_x86_64_s: 41 03 00 add (%r8), %eax 45 03 00 add (%r8), %r8d 49 03 00 add (%r8), %rax - 03 05 22 22 22 22 add 0x000000003223d95c, %eax + 03 05 22 22 22 22 add 0x000000003223dc86, %eax 03 45 00 add 0x00(%rbp), %eax 03 04 25 22 22 22 22 add 0x22222222, %eax 41 03 45 00 add 0x00(%r13), %eax @@ -41023,12 +41181,12 @@ test_x86_64_s: 83 04 81 11 addl $0x11, (%rcx,%rax,4) 41 83 04 81 11 addl $0x11, (%r9,%rax,4) 42 83 04 81 11 addl $0x11, (%rcx,%r8,4) - 83 05 22 22 22 22 33 addl $0x33, 0x000000003223d9d7 - 48 83 05 22 22 22 22 addq $0x33, 0x000000003223d9df + 83 05 22 22 22 22 33 addl $0x33, 0x000000003223dd01 + 48 83 05 22 22 22 22 addq $0x33, 0x000000003223dd09 33 - 81 05 22 22 22 22 33 addl $0x33333333, 0x000000003223d9e9 + 81 05 22 22 22 22 33 addl $0x33333333, 0x000000003223dd13 33 33 33 - 48 81 05 22 22 22 22 addq $0x33333333, 0x000000003223d9f4 + 48 81 05 22 22 22 22 addq $0x33333333, 0x000000003223dd1e 33 33 33 33 83 04 c5 22 22 22 22 addl $0x33, 0x22222222(,%rax,8) 33 @@ -41062,7 +41220,7 @@ test_x86_64_s: 00 00 8b 04 25 00 00 00 00 mov 0x00, %eax 8b 80 00 00 00 00 mov 0x00000000(%rax), %eax - 8b 05 00 00 00 00 mov 0x000000001001b86a, %eax + 8b 05 00 00 00 00 mov 0x000000001001bb94, %eax b0 00 mov $0x00, %al 66 b8 00 00 data16 mov $0x0000, %ax b8 00 00 00 00 mov $0x00000000, %eax @@ -41071,7 +41229,7 @@ test_x86_64_s: 00 00 8b 04 25 00 00 00 00 mov 0x00, %eax 8b 80 00 00 00 00 mov 0x00000000(%rax), %eax - 8b 05 00 00 00 00 mov 0x000000001001b898, %eax + 8b 05 00 00 00 00 mov 0x000000001001bbc2, %eax a0 11 22 33 44 55 66 mov 0x8877665544332211, %al 77 88 66 a1 11 22 33 44 55 data16 mov 0x8877665544332211, %ax @@ -41244,10 +41402,10 @@ test_x86_64_s: 48 05 00 00 00 00 add $0x00000000, %rax 66 b8 00 00 data16 mov $0x0000, %ax b0 00 mov $0x00, %al - 8b 05 00 00 00 00 mov 0x000000001001bb4a, %eax - 67 8b 05 00 00 00 00 addr32 mov 0x000000001001bb51, %eax - e8 00 00 00 00 call $0x000000001001bb56 - e3 00 jrcxz $0x000000001001bb58 + 8b 05 00 00 00 00 mov 0x000000001001be74, %eax + 67 8b 05 00 00 00 00 addr32 mov 0x000000001001be7b, %eax + e8 00 00 00 00 call $0x000000001001be80 + e3 00 jrcxz $0x000000001001be82 48 b8 00 00 00 00 00 mov $0x0000000000000000, %rax 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax @@ -41256,22 +41414,22 @@ test_x86_64_s: 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bb89 + e8 00 00 00 00 call $0x000000001001beb3 48 05 00 00 00 00 add $0x00000000, %rax - 48 8d 05 00 00 00 00 lea 0x000000001001bb96, %rax + 48 8d 05 00 00 00 00 lea 0x000000001001bec0, %rax 48 05 00 00 00 00 add $0x00000000, %rax 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bbad + e8 00 00 00 00 call $0x000000001001bed7 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bbbe + e8 00 00 00 00 call $0x000000001001bee8 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bbcf + e8 00 00 00 00 call $0x000000001001bef9 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bbe0 + e8 00 00 00 00 call $0x000000001001bf0a 48 b8 00 00 00 00 00 mov $0x0000000000000000, %rax 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax @@ -78372,6 +78530,54 @@ test_x86_64_s: 62 f2 96 50 27 6a 80 vptestnmq %zmm29, -0x00000400(%rdx) {%k5} {%k0} 62 f2 96 50 27 aa f8 vptestnmq %zmm29, -0x00000408(%rdx) {%k5} {%k0} fb ff ff + 62 03 95 40 ce f4 ab vgf2p8affineqb $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 ce f4 ab vgf2p8affineqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 ce f4 ab vgf2p8affineqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 ce b4 f0 vgf2p8affineqb $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 95 40 ce 72 7f vgf2p8affineqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 ce 72 7f vgf2p8affineqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 cf f4 ab vgf2p8affineinvqb $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 cf f4 ab vgf2p8affineinvqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 cf f4 ab vgf2p8affineinvqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 cf b4 f0 vgf2p8affineinvqb $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 95 40 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 02 15 40 cf f4 vgf2p8mulb %zmm29, %zmm28, %zmm30 {%k0} + 62 02 15 47 cf f4 vgf2p8mulb %zmm29, %zmm28, %zmm30 {%k7} + 62 02 15 c7 cf f4 vgf2p8mulb %zmm29, %zmm28, %zmm30 {%k7} + 62 22 15 40 cf b4 f0 vgf2p8mulb %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 15 40 cf 72 7f vgf2p8mulb %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 62 03 95 40 ce f4 ab vgf2p8affineqb $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 ce f4 ab vgf2p8affineqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 ce f4 ab vgf2p8affineqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 ce b4 f0 vgf2p8affineqb $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 95 40 ce 72 7f vgf2p8affineqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 ce 72 7f vgf2p8affineqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 cf f4 ab vgf2p8affineinvqb $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 cf f4 ab vgf2p8affineinvqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 cf f4 ab vgf2p8affineinvqb $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 cf b4 f0 vgf2p8affineinvqb $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 95 40 cf 72 7f vgf2p8affineinvqb $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 cf b2 00 vgf2p8affineinvqb $0x7b, %zmm29, 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 7b + 62 02 15 40 cf f4 vgf2p8mulb %zmm29, %zmm28, %zmm30 {%k0} + 62 02 15 47 cf f4 vgf2p8mulb %zmm29, %zmm28, %zmm30 {%k7} + 62 02 15 c7 cf f4 vgf2p8mulb %zmm29, %zmm28, %zmm30 {%k7} + 62 22 15 40 cf b4 f0 vgf2p8mulb %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 15 40 cf 72 7f vgf2p8mulb %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} 62 01 fd 08 28 f5 vmovapd %xmm29, %xmm30 {%k0} 62 01 fd 08 29 ee vmovapd %xmm29, %xmm30 {%k0} 62 01 fd 0f 28 f5 vmovapd %xmm29, %xmm30 {%k7} @@ -97152,6 +97358,102 @@ test_x86_64_s: 62 62 15 40 7d 72 80 vpermt2b %zmm29, -0x00002000(%rdx), %zmm30 {%k0} 62 62 15 40 7d b2 c0 vpermt2b %zmm29, -0x00002040(%rdx), %zmm30 {%k0} df ff ff + 62 03 95 00 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 ce b4 f0 vgf2p8affineqb $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 95 00 ce 72 7f vgf2p8affineqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 ce 72 7f vgf2p8affineqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 ce f4 ab vgf2p8affineqb $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 ce f4 ab vgf2p8affineqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 ce f4 ab vgf2p8affineqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 ce b4 f0 vgf2p8affineqb $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 95 20 ce 72 7f vgf2p8affineqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 ce 72 7f vgf2p8affineqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 cf f4 ab vgf2p8affineinvqb $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 cf f4 ab vgf2p8affineinvqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 cf f4 ab vgf2p8affineinvqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 cf b4 f0 vgf2p8affineinvqb $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 95 00 cf 72 7f vgf2p8affineinvqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 cf 72 7f vgf2p8affineinvqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 cf f4 ab vgf2p8affineinvqb $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 cf f4 ab vgf2p8affineinvqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 cf f4 ab vgf2p8affineinvqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 cf b4 f0 vgf2p8affineinvqb $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 95 20 cf 72 7f vgf2p8affineinvqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 cf 72 7f vgf2p8affineinvqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 02 15 00 cf f4 vgf2p8mulb %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 cf f4 vgf2p8mulb %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 cf f4 vgf2p8mulb %xmm29, %xmm28, %xmm30 {%k7} + 62 22 15 00 cf b4 f0 vgf2p8mulb %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 15 00 cf 72 7f vgf2p8mulb %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 02 15 20 cf f4 vgf2p8mulb %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 cf f4 vgf2p8mulb %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 cf f4 vgf2p8mulb %ymm29, %ymm28, %ymm30 {%k7} + 62 22 15 20 cf b4 f0 vgf2p8mulb %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 cf 72 7f vgf2p8mulb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 03 95 00 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 ce b4 f0 vgf2p8affineqb $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 95 00 ce 72 7f vgf2p8affineqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 ce 72 7f vgf2p8affineqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 ce f4 ab vgf2p8affineqb $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 ce f4 ab vgf2p8affineqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 ce f4 ab vgf2p8affineqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 ce b4 f0 vgf2p8affineqb $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 95 20 ce 72 7f vgf2p8affineqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 ce 72 7f vgf2p8affineqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 cf f4 ab vgf2p8affineinvqb $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 cf f4 ab vgf2p8affineinvqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 cf f4 ab vgf2p8affineinvqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 cf b4 f0 vgf2p8affineinvqb $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 95 00 cf 72 7f vgf2p8affineinvqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 cf 72 7f vgf2p8affineinvqb $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 cf f4 ab vgf2p8affineinvqb $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 cf f4 ab vgf2p8affineinvqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 cf f4 ab vgf2p8affineinvqb $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 cf b4 f0 vgf2p8affineinvqb $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 95 20 cf 72 7f vgf2p8affineinvqb $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 cf b2 00 vgf2p8affineinvqb $0x7b, %ymm29, 0x00000400(%rdx), %ymm30 {%k0} + 04 00 00 7b + 62 02 15 00 cf f4 vgf2p8mulb %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 cf f4 vgf2p8mulb %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 cf f4 vgf2p8mulb %xmm29, %xmm28, %xmm30 {%k7} + 62 22 15 00 cf b4 f0 vgf2p8mulb %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 15 00 cf 72 7f vgf2p8mulb %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 02 15 20 cf f4 vgf2p8mulb %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 cf f4 vgf2p8mulb %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 cf f4 vgf2p8mulb %ymm29, %ymm28, %ymm30 {%k7} + 62 22 15 20 cf b4 f0 vgf2p8mulb %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 15 20 cf 72 7f vgf2p8mulb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} 62 f1 7d 08 7e 21 vmovd %xmm4, (%rcx) 62 f1 7d 08 7e e1 vmovd %xmm4, %ecx 62 f1 7d 08 6e 21 vmovd (%rcx), %xmm4 @@ -102354,6 +102656,36 @@ test_x86_64_s: 62 f1 36 30 7b f0 vcvtusi2ss %xmm25, %eax, %xmm6 62 f1 36 00 7b f0 vcvtusi2ss %xmm25, %eax, %xmm6 62 f1 07 08 7b f0 vcvtusi2sd %xmm15, %eax, %xmm6 + 66 0f 38 cf ec gf2p8mulb %xmm4, %xmm5 + 66 42 0f 38 cf ac f0 gf2p8mulb -0x0001e240(%rax,%r14,8), %xmm5 + c0 1d fe ff + 66 0f 38 cf aa f0 07 gf2p8mulb 0x000007f0(%rdx), %xmm5 + 00 00 + 66 0f 3a ce ec ab gf2p8affineqb %xmm4, $0xab, %xmm5 + 66 42 0f 3a ce ac f0 gf2p8affineqb -0x0001e240(%rax,%r14,8), $0x7b, %xmm5 + c0 1d fe ff 7b + 66 0f 3a ce aa f0 07 gf2p8affineqb 0x000007f0(%rdx), $0x7b, %xmm5 + 00 00 7b + 66 0f 3a cf ec ab gf2p8affineinvqb %xmm4, $0xab, %xmm5 + 66 42 0f 3a cf ac f0 gf2p8affineinvqb -0x0001e240(%rax,%r14,8), $0x7b, %xmm5 + c0 1d fe ff 7b + 66 0f 3a cf aa f0 07 gf2p8affineinvqb 0x000007f0(%rdx), $0x7b, %xmm5 + 00 00 7b + 66 0f 38 cf ec gf2p8mulb %xmm4, %xmm5 + 66 42 0f 38 cf ac f0 gf2p8mulb -0x0001e240(%rax,%r14,8), %xmm5 + c0 1d fe ff + 66 0f 38 cf aa f0 07 gf2p8mulb 0x000007f0(%rdx), %xmm5 + 00 00 + 66 0f 3a ce ec ab gf2p8affineqb %xmm4, $0xab, %xmm5 + 66 42 0f 3a ce ac f0 gf2p8affineqb -0x0001e240(%rax,%r14,8), $0x7b, %xmm5 + c0 1d fe ff 7b + 66 0f 3a ce aa f0 07 gf2p8affineqb 0x000007f0(%rdx), $0x7b, %xmm5 + 00 00 7b + 66 0f 3a cf ec ab gf2p8affineinvqb %xmm4, $0xab, %xmm5 + 66 42 0f 3a cf ac f0 gf2p8affineinvqb -0x0001e240(%rax,%r14,8), $0x7b, %xmm5 + c0 1d fe ff 7b + 66 0f 3a cf aa f0 07 gf2p8affineinvqb 0x000007f0(%rdx), $0x7b, %xmm5 + 00 00 7b 48 25 00 00 00 00 and $0x00000000, %rax 48 25 ff ff ff 7f and $0x7fffffff, %rax 48 81 e3 ff ff ff 7f and $0x7fffffff, %rbx @@ -102802,7 +103134,7 @@ test_x86_64_s: 7b 00 00 00 62 e2 7d 21 91 84 c5 vpgatherqd 0x0000007b(%rbp,%ymm16,8), %ymm16 {%k1} {%k1} 7b 00 00 00 - 62 f1 7c 48 28 05 00 vmovaps 0x00000000100705bf, %zmm0 {%k0} + 62 f1 7c 48 28 05 00 vmovaps 0x0000000010070cb5, %zmm0 {%k0} fc ff ff 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax), %zmm0 {%k0} 40 00 00 00 @@ -103040,9 +103372,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010070f29, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x000000001007161f, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010070f33, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010071629, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -103054,9 +103386,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010070f6f, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010071665, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010070f79, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x000000001007166f, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -103066,13 +103398,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010070fae, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x00000000100716a4, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010070fb8, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x00000000100716ae, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010070fc1, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x00000000100716b7, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010070fcb, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x00000000100716c1, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 @@ -103086,13 +103418,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010071014, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x000000001007170a, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x000000001007101e, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010071714, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010071027, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x000000001007171d, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071031, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071727, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 diff --git a/third_party/binutils/test_decenc/test_decenc_x86.asm b/third_party/binutils/test_decenc/test_decenc_x86.asm index 25decfec53e..23b97fe6585 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86.asm @@ -371,8 +371,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c4) RAW(e2) RAW(79) RAW(dc) RAW(11) RAW(c4) RAW(e3) RAW(49) RAW(44) RAW(d4) RAW(08) - /* FIXME i#3578: Support AVX instruction vgf2p8mulb. */ - /* RAW(c4) RAW(e2) RAW(69) RAW(cf) RAW(d9) */ + RAW(c4) RAW(e2) RAW(69) RAW(cf) RAW(d9) END_OF_SUBTEST_MARKER /* att_regs.s */ @@ -1665,19 +1664,18 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1e) RAW(c5) RAW(cc) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(c5) RAW(ff) RAW(e6) RAW(e4) RAW(c5) RAW(ff) RAW(e6) RAW(21) RAW(c5) RAW(fd) RAW(5a) RAW(e4) @@ -1754,33 +1752,32 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cd) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4a) RAW(fe) RAW(40) @@ -2235,19 +2232,18 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1e) RAW(c5) RAW(c8) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(c4) RAW(e2) RAW(59) RAW(2c) RAW(31) RAW(c4) RAW(e2) RAW(59) RAW(2d) RAW(31) RAW(c4) RAW(e3) RAW(79) RAW(df) RAW(f4) RAW(07) @@ -2300,33 +2296,32 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c9) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4a) RAW(fe) RAW(40) @@ -3360,20 +3355,19 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cc) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1f) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(c5) RAW(ff) RAW(e6) RAW(e4) RAW(c5) RAW(ff) RAW(e6) RAW(21) RAW(c5) RAW(fd) RAW(5a) RAW(e4) @@ -3487,35 +3481,34 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cc) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(39) RAW(40) @@ -4197,20 +4190,19 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c8) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1f) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(c4) RAW(e2) RAW(59) RAW(2c) RAW(31) RAW(c4) RAW(e2) RAW(59) RAW(2c) RAW(31) RAW(c4) RAW(e2) RAW(59) RAW(2d) RAW(31) @@ -4291,35 +4283,34 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c8) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b4) RAW(f4) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b4) RAW(f4) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(39) RAW(40) @@ -115241,7 +115232,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(87) RAW(34) RAW(12) END_OF_SUBTEST_MARKER -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* avx512f_gfni.s */ RAW(62) RAW(f3) RAW(d5) RAW(48) RAW(ce) RAW(f4) RAW(ab) RAW(62) RAW(f3) RAW(d5) RAW(4f) RAW(ce) RAW(f4) RAW(ab) @@ -115293,6 +115283,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(55) RAW(48) RAW(cf) RAW(72) RAW(7f) END_OF_SUBTEST_MARKER +#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* avx512f_vaes_wig.s */ RAW(62) RAW(f2) RAW(55) RAW(48) RAW(de) RAW(f4) RAW(62) RAW(f2) RAW(55) RAW(48) RAW(de) RAW(b4) RAW(f4) @@ -133875,8 +133866,6 @@ GLOBAL_LABEL(FUNCNAME:) END_OF_SUBTEST_MARKER #endif -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ /* avx512vl_gfni.s */ RAW(62) RAW(f3) RAW(d5) RAW(0f) RAW(ce) RAW(f4) RAW(ab) RAW(62) RAW(f3) RAW(d5) RAW(8f) RAW(ce) RAW(f4) RAW(ab) @@ -133969,6 +133958,8 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(55) RAW(2f) RAW(cf) RAW(72) RAW(7f) END_OF_SUBTEST_MARKER +#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED +/* The following tests are disabled (xref i#1312). */ /* avx512vl_vaes_wig.s */ RAW(c4) RAW(e2) RAW(51) RAW(de) RAW(f4) RAW(c4) RAW(e2) RAW(51) RAW(de) RAW(b4) RAW(f4) RAW(c0) @@ -139131,8 +139122,6 @@ GLOBAL_LABEL(FUNCNAME:) END_OF_SUBTEST_MARKER #endif -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ /* gfni.s */ RAW(66) RAW(0f) RAW(38) RAW(cf) RAW(ec) RAW(66) RAW(0f) RAW(38) RAW(cf) RAW(ac) RAW(f4) RAW(c0) @@ -139165,7 +139154,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(66) RAW(0f) RAW(3a) RAW(cf) RAW(aa) RAW(f0) RAW(07) RAW(00) RAW(00) RAW(7b) END_OF_SUBTEST_MARKER -#endif /* optimize_1.s */ RAW(62) RAW(f1) RAW(f5) RAW(4f) RAW(55) RAW(e9) diff --git a/third_party/binutils/test_decenc/test_decenc_x86_64.asm b/third_party/binutils/test_decenc/test_decenc_x86_64.asm index 04b3e92ca11..2aec2d541d0 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86_64.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86_64.asm @@ -1718,19 +1718,18 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1e) RAW(c5) RAW(cc) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(a2) RAW(55) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) + RAW(c4) RAW(a2) RAW(55) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(c5) RAW(ff) RAW(e6) RAW(e4) RAW(c5) RAW(ff) RAW(e6) RAW(21) RAW(c5) RAW(fd) RAW(5a) RAW(e4) @@ -1807,33 +1806,32 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cd) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d5) RAW(ce) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d5) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d5) RAW(ce) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d5) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4a) RAW(fe) RAW(40) @@ -2288,19 +2286,18 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1e) RAW(c5) RAW(c8) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(a2) RAW(51) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) + RAW(c4) RAW(a2) RAW(51) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(c4) RAW(e2) RAW(59) RAW(2c) RAW(31) RAW(c4) RAW(e2) RAW(59) RAW(2d) RAW(31) RAW(c4) RAW(e3) RAW(79) RAW(df) RAW(f4) RAW(07) @@ -2357,33 +2354,32 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c9) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d1) RAW(ce) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d1) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d1) RAW(ce) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d1) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4a) RAW(fe) RAW(40) @@ -3680,20 +3676,19 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cc) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1f) RAW(c5) RAW(cc) RAW(c2) RAW(11) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(a2) RAW(55) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(31) + RAW(c4) RAW(a2) RAW(55) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(55) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(c5) RAW(ff) RAW(e6) RAW(e4) RAW(c5) RAW(ff) RAW(e6) RAW(21) RAW(c5) RAW(fd) RAW(5a) RAW(e4) @@ -3807,35 +3802,34 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(cc) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(cc) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d5) RAW(ce) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d5) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d5) RAW(ce) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(ce) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d5) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(0f) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(10) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(00) RAW(f0) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d5) RAW(cf) RAW(b2) RAW(e0) RAW(ef) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(6d) RAW(4b) RAW(39) RAW(40) @@ -4517,20 +4511,19 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c8) RAW(c2) RAW(d4) RAW(1f) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1f) RAW(c5) RAW(c8) RAW(c2) RAW(39) RAW(1f) - /* FIXME i#3578: Support vgf2p8mulb AVX instruction. */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) */ - /* RAW(c4) RAW(a2) RAW(51) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) */ - /* RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) */ + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(f4) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(31) + RAW(c4) RAW(a2) RAW(51) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) + RAW(c4) RAW(e2) RAW(51) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(c4) RAW(e2) RAW(59) RAW(2c) RAW(31) RAW(c4) RAW(e2) RAW(59) RAW(2c) RAW(31) RAW(c4) RAW(e2) RAW(59) RAW(2d) RAW(31) @@ -4611,35 +4604,34 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(c8) RAW(c6) RAW(d4) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(11) RAW(07) RAW(c5) RAW(c8) RAW(c6) RAW(11) RAW(07) - /* FIXME i#3578: Support vgf2p8affineqb AVX (or AVX-512) instruction. */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d1) RAW(ce) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) */ - /* RAW(c4) RAW(a3) RAW(d1) RAW(cf) RAW(b4) RAW(f0) RAW(c0) */ - /* RAW(1d) RAW(fe) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) */ - /* RAW(00) RAW(00) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) */ - /* RAW(ff) RAW(ff) RAW(7b) */ - /* RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) */ - /* RAW(ff) RAW(ff) RAW(7b) */ + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d1) RAW(ce) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(ce) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(ab) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(f4) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(31) RAW(7b) + RAW(c4) RAW(a3) RAW(d1) RAW(cf) RAW(b4) RAW(f0) RAW(c0) + RAW(1d) RAW(fe) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(07) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(08) + RAW(00) RAW(00) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(00) RAW(f8) + RAW(ff) RAW(ff) RAW(7b) + RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(b2) RAW(f0) RAW(f7) + RAW(ff) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(fe) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(39) RAW(40) RAW(c4) RAW(e3) RAW(69) RAW(4b) RAW(39) RAW(40) @@ -79616,7 +79608,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(96) RAW(50) RAW(27) RAW(aa) RAW(f8) RAW(fb) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* x86_64_avx512f_gfni.s */ RAW(62) RAW(03) RAW(95) RAW(40) RAW(ce) RAW(f4) RAW(ab) RAW(62) RAW(03) RAW(95) RAW(47) RAW(ce) RAW(f4) RAW(ab) @@ -79667,6 +79658,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(34) RAW(12) RAW(00) RAW(00) RAW(62) RAW(62) RAW(15) RAW(40) RAW(cf) RAW(72) RAW(7f) +#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* x86_64_avx512f_vaes_wig.s */ RAW(62) RAW(02) RAW(15) RAW(40) RAW(de) RAW(f4) RAW(62) RAW(22) RAW(15) RAW(40) RAW(de) RAW(b4) RAW(f0) @@ -99800,8 +99792,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(fb) RAW(ff) RAW(ff) #endif -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ /* x86_64_avx512vl_gfni.s */ RAW(62) RAW(03) RAW(95) RAW(00) RAW(ce) RAW(f4) RAW(ab) RAW(62) RAW(03) RAW(95) RAW(07) RAW(ce) RAW(f4) RAW(ab) @@ -99900,6 +99890,8 @@ GLOBAL_LABEL(FUNCNAME:) RAW(34) RAW(12) RAW(00) RAW(00) RAW(62) RAW(62) RAW(15) RAW(20) RAW(cf) RAW(72) RAW(7f) +#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED +/* The following tests are disabled (xref i#1312). */ /* x86_64_avx512vl_vaes_wig.s */ RAW(62) RAW(02) RAW(15) RAW(00) RAW(de) RAW(f4) RAW(62) RAW(22) RAW(15) RAW(00) RAW(de) RAW(b4) RAW(f0) @@ -105554,8 +105546,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f1) RAW(36) RAW(00) RAW(7b) RAW(f0) RAW(62) RAW(f1) RAW(07) RAW(08) RAW(7b) RAW(f0) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ /* x86_64_gfni.s */ RAW(66) RAW(0f) RAW(38) RAW(cf) RAW(ec) RAW(66) RAW(42) RAW(0f) RAW(38) RAW(cf) RAW(ac) RAW(f0) @@ -105587,7 +105577,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c0) RAW(1d) RAW(fe) RAW(ff) RAW(7b) RAW(66) RAW(0f) RAW(3a) RAW(cf) RAW(aa) RAW(f0) RAW(07) RAW(00) RAW(00) RAW(7b) -#endif /* x86_64_optimize_1.s */ RAW(48) RAW(25) RAW(00) RAW(00) RAW(00) RAW(00) From d4bc67724f413f4a2ce277ccc18857ebbcd04f26 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Thu, 12 Dec 2024 06:17:19 +0800 Subject: [PATCH 03/13] Enable a number of binutils tests that pass but are disabled. (#7122) There are a few random pieces in here that have been missed previously. --- .../test_decenc/drdecode_decenc_x86.expect | 409 ++++++ .../test_decenc/drdecode_decenc_x86_64.expect | 1190 +++++++++++------ .../binutils/test_decenc/test_decenc_x86.asm | 10 +- .../test_decenc/test_decenc_x86_64.asm | 28 +- 4 files changed, 1194 insertions(+), 443 deletions(-) diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect index 61638d23b1c..8e0b22db62a 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect @@ -96786,6 +96786,386 @@ test_s: 90 nop 90 nop 90 nop + 62 f2 7d 18 c8 f5 vexp2ps %zmm5, %zmm6 {%k0} + 62 f2 fd 18 c8 f5 vexp2pd %zmm5, %zmm6 {%k0} + 62 f2 7d 18 ca f5 vrcp28ps %zmm5, %zmm6 {%k0} + 62 f2 fd 18 ca f5 vrcp28pd %zmm5, %zmm6 {%k0} + 62 f2 55 1f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 7d 18 cc f5 vrsqrt28ps %zmm5, %zmm6 {%k0} + 62 f2 fd 18 cc f5 vrsqrt28pd %zmm5, %zmm6 {%k0} + 62 f2 55 1f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 7d 18 c8 f5 vexp2ps %zmm5, %zmm6 {%k0} + 62 f2 fd 18 c8 f5 vexp2pd %zmm5, %zmm6 {%k0} + 62 f2 7d 18 ca f5 vrcp28ps %zmm5, %zmm6 {%k0} + 62 f2 fd 18 ca f5 vrcp28pd %zmm5, %zmm6 {%k0} + 62 f2 55 1f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 7d 18 cc f5 vrsqrt28ps %zmm5, %zmm6 {%k0} + 62 f2 fd 18 cc f5 vrsqrt28pd %zmm5, %zmm6 {%k0} + 62 f2 55 1f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 62 f2 7d 48 c8 f5 vexp2ps %zmm5, %zmm6 {%k0} + 62 f2 7d 18 c8 f5 vexp2ps %zmm5, %zmm6 {%k0} + 62 f2 7d 48 c8 31 vexp2ps (%ecx), %zmm6 {%k0} + 62 f2 7d 48 c8 b4 f4 vexp2ps -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 58 c8 30 vexp2ps (%eax), %zmm6 {%k0} + 62 f2 7d 48 c8 72 7f vexp2ps 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 7d 48 c8 b2 00 vexp2ps 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 7d 48 c8 72 80 vexp2ps -0x00002000(%edx), %zmm6 {%k0} + 62 f2 7d 48 c8 b2 c0 vexp2ps -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 7d 58 c8 72 7f vexp2ps 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 58 c8 b2 00 vexp2ps 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 58 c8 72 80 vexp2ps -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 58 c8 b2 fc vexp2ps -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 fd 48 c8 f5 vexp2pd %zmm5, %zmm6 {%k0} + 62 f2 fd 18 c8 f5 vexp2pd %zmm5, %zmm6 {%k0} + 62 f2 fd 48 c8 31 vexp2pd (%ecx), %zmm6 {%k0} + 62 f2 fd 48 c8 b4 f4 vexp2pd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 58 c8 30 vexp2pd (%eax), %zmm6 {%k0} + 62 f2 fd 48 c8 72 7f vexp2pd 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 fd 48 c8 b2 00 vexp2pd 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 fd 48 c8 72 80 vexp2pd -0x00002000(%edx), %zmm6 {%k0} + 62 f2 fd 48 c8 b2 c0 vexp2pd -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 fd 58 c8 72 7f vexp2pd 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 58 c8 b2 00 vexp2pd 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 58 c8 72 80 vexp2pd -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 58 c8 b2 f8 vexp2pd -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 7d 48 ca f5 vrcp28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 4f ca f5 vrcp28ps %zmm5, %zmm6 {%k7} + 62 f2 7d cf ca f5 vrcp28ps %zmm5, %zmm6 {%k7} + 62 f2 7d 18 ca f5 vrcp28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 48 ca 31 vrcp28ps (%ecx), %zmm6 {%k0} + 62 f2 7d 48 ca b4 f4 vrcp28ps -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 58 ca 30 vrcp28ps (%eax), %zmm6 {%k0} + 62 f2 7d 48 ca 72 7f vrcp28ps 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 7d 48 ca b2 00 vrcp28ps 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 7d 48 ca 72 80 vrcp28ps -0x00002000(%edx), %zmm6 {%k0} + 62 f2 7d 48 ca b2 c0 vrcp28ps -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 7d 58 ca 72 7f vrcp28ps 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 58 ca b2 00 vrcp28ps 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 58 ca 72 80 vrcp28ps -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 58 ca b2 fc vrcp28ps -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 fd 48 ca f5 vrcp28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 4f ca f5 vrcp28pd %zmm5, %zmm6 {%k7} + 62 f2 fd cf ca f5 vrcp28pd %zmm5, %zmm6 {%k7} + 62 f2 fd 18 ca f5 vrcp28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 48 ca 31 vrcp28pd (%ecx), %zmm6 {%k0} + 62 f2 fd 48 ca b4 f4 vrcp28pd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 58 ca 30 vrcp28pd (%eax), %zmm6 {%k0} + 62 f2 fd 48 ca 72 7f vrcp28pd 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 fd 48 ca b2 00 vrcp28pd 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 fd 48 ca 72 80 vrcp28pd -0x00002000(%edx), %zmm6 {%k0} + 62 f2 fd 48 ca b2 c0 vrcp28pd -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 fd 58 ca 72 7f vrcp28pd 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 58 ca b2 00 vrcp28pd 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 58 ca 72 80 vrcp28pd -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 58 ca b2 f8 vrcp28pd -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 55 0f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 1f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f cb 31 vrcp28ss %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f cb b4 f4 vrcp28ss %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f cb 72 7f vrcp28ss %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 62 f2 55 0f cb b2 00 vrcp28ss %xmm5, 0x00000200(%edx), %xmm6 {%k7} + 02 00 00 + 62 f2 55 0f cb 72 80 vrcp28ss %xmm5, -0x00000200(%edx), %xmm6 {%k7} + 62 f2 55 0f cb b2 fc vrcp28ss %xmm5, -0x00000204(%edx), %xmm6 {%k7} + fd ff ff + 62 f2 d5 0f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 8f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 0f cb 31 vrcp28sd %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 d5 0f cb b4 f4 vrcp28sd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f cb 72 7f vrcp28sd %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 d5 0f cb b2 00 vrcp28sd %xmm5, 0x00000400(%edx), %xmm6 {%k7} + 04 00 00 + 62 f2 d5 0f cb 72 80 vrcp28sd %xmm5, -0x00000400(%edx), %xmm6 {%k7} + 62 f2 d5 0f cb b2 f8 vrcp28sd %xmm5, -0x00000408(%edx), %xmm6 {%k7} + fb ff ff + 62 f2 7d 48 cc f5 vrsqrt28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 4f cc f5 vrsqrt28ps %zmm5, %zmm6 {%k7} + 62 f2 7d cf cc f5 vrsqrt28ps %zmm5, %zmm6 {%k7} + 62 f2 7d 18 cc f5 vrsqrt28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 48 cc 31 vrsqrt28ps (%ecx), %zmm6 {%k0} + 62 f2 7d 48 cc b4 f4 vrsqrt28ps -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 58 cc 30 vrsqrt28ps (%eax), %zmm6 {%k0} + 62 f2 7d 48 cc 72 7f vrsqrt28ps 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 7d 48 cc b2 00 vrsqrt28ps 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 7d 48 cc 72 80 vrsqrt28ps -0x00002000(%edx), %zmm6 {%k0} + 62 f2 7d 48 cc b2 c0 vrsqrt28ps -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 7d 58 cc 72 7f vrsqrt28ps 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 58 cc b2 00 vrsqrt28ps 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 58 cc 72 80 vrsqrt28ps -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 58 cc b2 fc vrsqrt28ps -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 fd 48 cc f5 vrsqrt28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 4f cc f5 vrsqrt28pd %zmm5, %zmm6 {%k7} + 62 f2 fd cf cc f5 vrsqrt28pd %zmm5, %zmm6 {%k7} + 62 f2 fd 18 cc f5 vrsqrt28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 48 cc 31 vrsqrt28pd (%ecx), %zmm6 {%k0} + 62 f2 fd 48 cc b4 f4 vrsqrt28pd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 58 cc 30 vrsqrt28pd (%eax), %zmm6 {%k0} + 62 f2 fd 48 cc 72 7f vrsqrt28pd 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 fd 48 cc b2 00 vrsqrt28pd 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 fd 48 cc 72 80 vrsqrt28pd -0x00002000(%edx), %zmm6 {%k0} + 62 f2 fd 48 cc b2 c0 vrsqrt28pd -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 fd 58 cc 72 7f vrsqrt28pd 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 58 cc b2 00 vrsqrt28pd 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 58 cc 72 80 vrsqrt28pd -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 58 cc b2 f8 vrsqrt28pd -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 55 0f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 1f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f cd 31 vrsqrt28ss %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f cd b4 f4 vrsqrt28ss %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f cd 72 7f vrsqrt28ss %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 62 f2 55 0f cd b2 00 vrsqrt28ss %xmm5, 0x00000200(%edx), %xmm6 {%k7} + 02 00 00 + 62 f2 55 0f cd 72 80 vrsqrt28ss %xmm5, -0x00000200(%edx), %xmm6 {%k7} + 62 f2 55 0f cd b2 fc vrsqrt28ss %xmm5, -0x00000204(%edx), %xmm6 {%k7} + fd ff ff + 62 f2 d5 0f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 8f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 0f cd 31 vrsqrt28sd %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 d5 0f cd b4 f4 vrsqrt28sd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f cd 72 7f vrsqrt28sd %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 d5 0f cd b2 00 vrsqrt28sd %xmm5, 0x00000400(%edx), %xmm6 {%k7} + 04 00 00 + 62 f2 d5 0f cd 72 80 vrsqrt28sd %xmm5, -0x00000400(%edx), %xmm6 {%k7} + 62 f2 d5 0f cd b2 f8 vrsqrt28sd %xmm5, -0x00000408(%edx), %xmm6 {%k7} + fb ff ff + 62 f2 7d 48 c8 f5 vexp2ps %zmm5, %zmm6 {%k0} + 62 f2 7d 18 c8 f5 vexp2ps %zmm5, %zmm6 {%k0} + 62 f2 7d 48 c8 31 vexp2ps (%ecx), %zmm6 {%k0} + 62 f2 7d 48 c8 b4 f4 vexp2ps -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 58 c8 30 vexp2ps (%eax), %zmm6 {%k0} + 62 f2 7d 48 c8 72 7f vexp2ps 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 7d 48 c8 b2 00 vexp2ps 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 7d 48 c8 72 80 vexp2ps -0x00002000(%edx), %zmm6 {%k0} + 62 f2 7d 48 c8 b2 c0 vexp2ps -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 7d 58 c8 72 7f vexp2ps 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 58 c8 b2 00 vexp2ps 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 58 c8 72 80 vexp2ps -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 58 c8 b2 fc vexp2ps -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 fd 48 c8 f5 vexp2pd %zmm5, %zmm6 {%k0} + 62 f2 fd 18 c8 f5 vexp2pd %zmm5, %zmm6 {%k0} + 62 f2 fd 48 c8 31 vexp2pd (%ecx), %zmm6 {%k0} + 62 f2 fd 48 c8 b4 f4 vexp2pd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 58 c8 30 vexp2pd (%eax), %zmm6 {%k0} + 62 f2 fd 48 c8 72 7f vexp2pd 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 fd 48 c8 b2 00 vexp2pd 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 fd 48 c8 72 80 vexp2pd -0x00002000(%edx), %zmm6 {%k0} + 62 f2 fd 48 c8 b2 c0 vexp2pd -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 fd 58 c8 72 7f vexp2pd 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 58 c8 b2 00 vexp2pd 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 58 c8 72 80 vexp2pd -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 58 c8 b2 f8 vexp2pd -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 7d 48 ca f5 vrcp28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 4f ca f5 vrcp28ps %zmm5, %zmm6 {%k7} + 62 f2 7d cf ca f5 vrcp28ps %zmm5, %zmm6 {%k7} + 62 f2 7d 18 ca f5 vrcp28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 48 ca 31 vrcp28ps (%ecx), %zmm6 {%k0} + 62 f2 7d 48 ca b4 f4 vrcp28ps -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 58 ca 30 vrcp28ps (%eax), %zmm6 {%k0} + 62 f2 7d 48 ca 72 7f vrcp28ps 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 7d 48 ca b2 00 vrcp28ps 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 7d 48 ca 72 80 vrcp28ps -0x00002000(%edx), %zmm6 {%k0} + 62 f2 7d 48 ca b2 c0 vrcp28ps -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 7d 58 ca 72 7f vrcp28ps 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 58 ca b2 00 vrcp28ps 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 58 ca 72 80 vrcp28ps -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 58 ca b2 fc vrcp28ps -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 fd 48 ca f5 vrcp28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 4f ca f5 vrcp28pd %zmm5, %zmm6 {%k7} + 62 f2 fd cf ca f5 vrcp28pd %zmm5, %zmm6 {%k7} + 62 f2 fd 18 ca f5 vrcp28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 48 ca 31 vrcp28pd (%ecx), %zmm6 {%k0} + 62 f2 fd 48 ca b4 f4 vrcp28pd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 58 ca 30 vrcp28pd (%eax), %zmm6 {%k0} + 62 f2 fd 48 ca 72 7f vrcp28pd 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 fd 48 ca b2 00 vrcp28pd 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 fd 48 ca 72 80 vrcp28pd -0x00002000(%edx), %zmm6 {%k0} + 62 f2 fd 48 ca b2 c0 vrcp28pd -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 fd 58 ca 72 7f vrcp28pd 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 58 ca b2 00 vrcp28pd 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 58 ca 72 80 vrcp28pd -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 58 ca b2 f8 vrcp28pd -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 55 0f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 1f cb f4 vrcp28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f cb 31 vrcp28ss %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f cb b4 f4 vrcp28ss %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f cb 72 7f vrcp28ss %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 62 f2 55 0f cb b2 00 vrcp28ss %xmm5, 0x00000200(%edx), %xmm6 {%k7} + 02 00 00 + 62 f2 55 0f cb 72 80 vrcp28ss %xmm5, -0x00000200(%edx), %xmm6 {%k7} + 62 f2 55 0f cb b2 fc vrcp28ss %xmm5, -0x00000204(%edx), %xmm6 {%k7} + fd ff ff + 62 f2 d5 0f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 8f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cb f4 vrcp28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 0f cb 31 vrcp28sd %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 d5 0f cb b4 f4 vrcp28sd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f cb 72 7f vrcp28sd %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 d5 0f cb b2 00 vrcp28sd %xmm5, 0x00000400(%edx), %xmm6 {%k7} + 04 00 00 + 62 f2 d5 0f cb 72 80 vrcp28sd %xmm5, -0x00000400(%edx), %xmm6 {%k7} + 62 f2 d5 0f cb b2 f8 vrcp28sd %xmm5, -0x00000408(%edx), %xmm6 {%k7} + fb ff ff + 62 f2 7d 48 cc f5 vrsqrt28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 4f cc f5 vrsqrt28ps %zmm5, %zmm6 {%k7} + 62 f2 7d cf cc f5 vrsqrt28ps %zmm5, %zmm6 {%k7} + 62 f2 7d 18 cc f5 vrsqrt28ps %zmm5, %zmm6 {%k0} + 62 f2 7d 48 cc 31 vrsqrt28ps (%ecx), %zmm6 {%k0} + 62 f2 7d 48 cc b4 f4 vrsqrt28ps -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 58 cc 30 vrsqrt28ps (%eax), %zmm6 {%k0} + 62 f2 7d 48 cc 72 7f vrsqrt28ps 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 7d 48 cc b2 00 vrsqrt28ps 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 7d 48 cc 72 80 vrsqrt28ps -0x00002000(%edx), %zmm6 {%k0} + 62 f2 7d 48 cc b2 c0 vrsqrt28ps -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 7d 58 cc 72 7f vrsqrt28ps 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 58 cc b2 00 vrsqrt28ps 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 58 cc 72 80 vrsqrt28ps -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 58 cc b2 fc vrsqrt28ps -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 fd 48 cc f5 vrsqrt28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 4f cc f5 vrsqrt28pd %zmm5, %zmm6 {%k7} + 62 f2 fd cf cc f5 vrsqrt28pd %zmm5, %zmm6 {%k7} + 62 f2 fd 18 cc f5 vrsqrt28pd %zmm5, %zmm6 {%k0} + 62 f2 fd 48 cc 31 vrsqrt28pd (%ecx), %zmm6 {%k0} + 62 f2 fd 48 cc b4 f4 vrsqrt28pd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 58 cc 30 vrsqrt28pd (%eax), %zmm6 {%k0} + 62 f2 fd 48 cc 72 7f vrsqrt28pd 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 fd 48 cc b2 00 vrsqrt28pd 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 fd 48 cc 72 80 vrsqrt28pd -0x00002000(%edx), %zmm6 {%k0} + 62 f2 fd 48 cc b2 c0 vrsqrt28pd -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 fd 58 cc 72 7f vrsqrt28pd 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 58 cc b2 00 vrsqrt28pd 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 58 cc 72 80 vrsqrt28pd -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 58 cc b2 f8 vrsqrt28pd -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 55 0f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 1f cd f4 vrsqrt28ss %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f cd 31 vrsqrt28ss %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f cd b4 f4 vrsqrt28ss %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f cd 72 7f vrsqrt28ss %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 62 f2 55 0f cd b2 00 vrsqrt28ss %xmm5, 0x00000200(%edx), %xmm6 {%k7} + 02 00 00 + 62 f2 55 0f cd 72 80 vrsqrt28ss %xmm5, -0x00000200(%edx), %xmm6 {%k7} + 62 f2 55 0f cd b2 fc vrsqrt28ss %xmm5, -0x00000204(%edx), %xmm6 {%k7} + fd ff ff + 62 f2 d5 0f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 8f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 1f cd f4 vrsqrt28sd %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 0f cd 31 vrsqrt28sd %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 d5 0f cd b4 f4 vrsqrt28sd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f cd 72 7f vrsqrt28sd %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 d5 0f cd b2 00 vrsqrt28sd %xmm5, 0x00000400(%edx), %xmm6 {%k7} + 04 00 00 + 62 f2 d5 0f cd 72 80 vrsqrt28sd %xmm5, -0x00000400(%edx), %xmm6 {%k7} + 62 f2 d5 0f cd b2 f8 vrsqrt28sd %xmm5, -0x00000408(%edx), %xmm6 {%k7} + fb ff ff + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop 62 f1 fd 48 29 ee vmovapd %zmm5, %zmm6 {%k0} 62 f1 fd 48 28 f5 vmovapd %zmm5, %zmm6 {%k0} 62 f1 fd 4f 29 ee vmovapd %zmm5, %zmm6 {%k7} @@ -134095,6 +134475,9 @@ test_s: 62 f1 7d 08 7e e1 vmovd %xmm4, %ecx 62 f1 7d 08 6e 21 vmovd (%ecx), %xmm4 62 f1 7d 08 6e e1 vmovd %ecx, %xmm4 + 62 f1 fd 08 d6 21 vmovq %xmm4, (%ecx) + 62 f1 fe 08 7e 21 vmovq (%ecx), %xmm4 + 62 f1 fe 08 7e f4 vmovq %xmm4, %xmm6 62 f3 7d 08 17 c0 00 vextractps $0x00, %xmm0, %eax 62 f3 7d 08 17 00 00 vextractpsl $0x00, %xmm0, (%eax) 62 f3 7d 08 14 c0 00 vpextrb %xmm0, $0x00, %eax @@ -139228,6 +139611,9 @@ test_s: c5 fa 7e f8 vmovq %xmm0, %xmm7 c5 fa 7e f8 vmovq %xmm0, %xmm7 c5 f9 d6 c7 vmovq %xmm0, %xmm7 + 62 f1 fe 08 7e f8 vmovq %xmm0, %xmm7 + 62 f1 fe 08 7e f8 vmovq %xmm0, %xmm7 + 62 f1 fd 08 d6 c7 vmovq %xmm0, %xmm7 66 0f c5 f8 00 pextrw %xmm0, $0x00, %edi 66 0f c5 f8 00 pextrw %xmm0, $0x00, %edi 66 0f 3a 15 c7 00 pextrw %xmm0, $0x00, %edi @@ -139414,6 +139800,29 @@ test_s: 90 nop 90 nop 90 nop + f3 0f ae e1 ptwrite %ecx + f3 0f ae e1 ptwrite %ecx + f3 0f ae 21 ptwrite (%ecx) + f3 0f ae 21 ptwrite (%ecx) + f3 0f ae e1 ptwrite %ecx + f3 0f ae 21 ptwrite (%ecx) + f3 0f ae 21 ptwrite (%ecx) + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop 0f 38 f9 01 movdiri %eax, (%ecx) 66 0f 38 f9 01 data16 movdiri %eax, (%ecx) 67 66 0f 38 f8 04 movdir64b (%si), %ax diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect index a1940b18eb1..23be72d66c6 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect @@ -183,6 +183,7 @@ test_x86_64_s: 66 0f 38 f6 ca adcx %edx, %ecx f3 0f 38 f6 ca adox %edx, %ecx 0f c7 f8 rdseed %eax + 44 0f 38 c8 00 sha1nexte (%rax), %xmm8 48 0f c7 21 xsavec64 (%rcx) 48 66 0f ae 39 clflushopt (%rcx) 0f 01 fa monitorx @@ -755,7 +756,7 @@ test_x86_64_s: 00 c4 41 3b 2a bf 99 00 vcvtsi2sd %xmm8, 0x99(%r15), %xmm15 00 00 - c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x0000000010000f90, %xmm15 + c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x0000000010000f95, %xmm15 00 c5 3b 2a bc 24 99 00 vcvtsi2sd %xmm8, 0x99(%rsp), %xmm15 00 00 @@ -1102,7 +1103,7 @@ test_x86_64_s: 00 c4 41 3b 2a bf 99 00 vcvtsi2sd %xmm8, 0x99(%r15), %xmm15 00 00 - c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x00000000100015f6, %xmm15 + c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x00000000100015fb, %xmm15 00 c5 3b 2a bc 24 99 00 vcvtsi2sd %xmm8, 0x99(%rsp), %xmm15 00 00 @@ -2808,47 +2809,47 @@ test_x86_64_s: 00 00 07 c4 43 1d 4b b7 99 00 vblendvpd %ymm12, 0x99(%r15), %ymm8, %ymm14 00 00 80 - c5 f8 ae 15 99 00 00 vldmxcsr 0x0000000010003537 + c5 f8 ae 15 99 00 00 vldmxcsr 0x000000001000353c 00 - c5 79 6f 05 99 00 00 vmovdqa 0x000000001000353f, %xmm8 + c5 79 6f 05 99 00 00 vmovdqa 0x0000000010003544, %xmm8 00 - c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x0000000010003547 + c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x000000001000354c 00 - c5 79 7e 05 99 00 00 vmovd %xmm8, 0x000000001000354f + c5 79 7e 05 99 00 00 vmovd %xmm8, 0x0000000010003554 00 - c5 7b 2d 05 99 00 00 vcvtsd2si 0x0000000010003557, %r8d + c5 7b 2d 05 99 00 00 vcvtsd2si 0x000000001000355c, %r8d 00 - c5 7e e6 05 99 00 00 vcvtdq2pd 0x000000001000355f, %ymm8 + c5 7e e6 05 99 00 00 vcvtdq2pd 0x0000000010003564, %ymm8 00 - c5 7d 5a 05 99 00 00 vcvtpd2ps 0x0000000010003567, %ymm8 + c5 7d 5a 05 99 00 00 vcvtpd2ps 0x000000001000356c, %ymm8 00 - c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x000000001000356f, %xmm15 + c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x0000000010003574, %xmm15 00 - c4 63 79 df 05 99 00 vaeskeygenassist 0x0000000010003579, $0x07, %xmm8 + c4 63 79 df 05 99 00 vaeskeygenassist 0x000000001000357e, $0x07, %xmm8 00 00 07 - c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x0000000010003583 + c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x0000000010003588 00 00 07 - c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x000000001000358b, %xmm15 + c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x0000000010003590, %xmm15 00 - c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x0000000010003595, $0x07, %xmm15 + c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x000000001000359a, $0x07, %xmm15 00 00 07 - c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x000000001000359f, %xmm8, %xmm14 + c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x00000000100035a4, %xmm8, %xmm14 00 00 80 - c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x00000000100035a9, $0x07, %xmm15 + c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x00000000100035ae, $0x07, %xmm15 00 00 07 - c5 7d 6f 05 99 00 00 vmovdqa 0x00000000100035b1, %ymm8 + c5 7d 6f 05 99 00 00 vmovdqa 0x00000000100035b6, %ymm8 00 - c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x00000000100035b9 + c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x00000000100035be 00 - c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x00000000100035c2, %ymm15 + c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x00000000100035c7, %ymm15 00 00 - c4 63 7d 09 05 99 00 vroundpd 0x00000000100035cc, $0x07, %ymm8 + c4 63 7d 09 05 99 00 vroundpd 0x00000000100035d1, $0x07, %ymm8 00 00 07 - c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x00000000100035d6 + c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x00000000100035db 00 00 07 - c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x00000000100035e0, $0x07, %ymm15 + c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x00000000100035e5, $0x07, %ymm15 00 00 07 - c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x00000000100035ea, %ymm8, %ymm14 + c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x00000000100035ef, %ymm8, %ymm14 00 00 80 c5 f8 ae 94 24 99 00 vldmxcsr 0x99(%rsp) 00 00 @@ -5194,47 +5195,47 @@ test_x86_64_s: 00 00 07 c4 43 1d 4b b7 99 00 vblendvpd %ymm12, 0x99(%r15), %ymm8, %ymm14 00 00 80 - c5 f8 ae 15 99 00 00 vldmxcsr 0x00000000100061d9 + c5 f8 ae 15 99 00 00 vldmxcsr 0x00000000100061de 00 - c5 79 6f 05 99 00 00 vmovdqa 0x00000000100061e1, %xmm8 + c5 79 6f 05 99 00 00 vmovdqa 0x00000000100061e6, %xmm8 00 - c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x00000000100061e9 + c5 79 7f 05 99 00 00 vmovdqa %xmm8, 0x00000000100061ee 00 - c5 79 7e 05 99 00 00 vmovd %xmm8, 0x00000000100061f1 + c5 79 7e 05 99 00 00 vmovd %xmm8, 0x00000000100061f6 00 - c5 7b 2d 05 99 00 00 vcvtsd2si 0x00000000100061f9, %r8d + c5 7b 2d 05 99 00 00 vcvtsd2si 0x00000000100061fe, %r8d 00 - c5 7e e6 05 99 00 00 vcvtdq2pd 0x0000000010006201, %ymm8 + c5 7e e6 05 99 00 00 vcvtdq2pd 0x0000000010006206, %ymm8 00 - c5 7d 5a 05 99 00 00 vcvtpd2ps 0x0000000010006209, %ymm8 + c5 7d 5a 05 99 00 00 vcvtpd2ps 0x000000001000620e, %ymm8 00 - c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x0000000010006211, %xmm15 + c5 39 e0 3d 99 00 00 vpavgb %xmm8, 0x0000000010006216, %xmm15 00 - c4 63 79 df 05 99 00 vaeskeygenassist 0x000000001000621b, $0x07, %xmm8 + c4 63 79 df 05 99 00 vaeskeygenassist 0x0000000010006220, $0x07, %xmm8 00 00 07 - c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x0000000010006225 + c4 63 79 14 05 99 00 vpextrb %xmm8, $0x07, 0x000000001000622a 00 00 07 - c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x000000001000622d, %xmm15 + c5 3b 2a 3d 99 00 00 vcvtsi2sd %xmm8, 0x0000000010006232, %xmm15 00 - c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x0000000010006237, $0x07, %xmm15 + c4 63 39 44 3d 99 00 vpclmulqdq %xmm8, 0x000000001000623c, $0x07, %xmm15 00 00 07 - c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x0000000010006241, %xmm8, %xmm14 + c4 63 19 4a 35 99 00 vblendvps %xmm12, 0x0000000010006246, %xmm8, %xmm14 00 00 80 - c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x000000001000624b, $0x07, %xmm15 + c4 63 39 20 3d 99 00 vpinsrb %xmm8, 0x0000000010006250, $0x07, %xmm15 00 00 07 - c5 7d 6f 05 99 00 00 vmovdqa 0x0000000010006253, %ymm8 + c5 7d 6f 05 99 00 00 vmovdqa 0x0000000010006258, %ymm8 00 - c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x000000001000625b + c5 7d 7f 05 99 00 00 vmovdqa %ymm8, 0x0000000010006260 00 - c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x0000000010006264, %ymm15 + c4 62 3d 0d 3d 99 00 vpermilpd %ymm8, 0x0000000010006269, %ymm15 00 00 - c4 63 7d 09 05 99 00 vroundpd 0x000000001000626e, $0x07, %ymm8 + c4 63 7d 09 05 99 00 vroundpd 0x0000000010006273, $0x07, %ymm8 00 00 07 - c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x0000000010006278 + c4 63 7d 19 05 99 00 vextractf128 %ymm8, $0x07, 0x000000001000627d 00 00 07 - c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x0000000010006282, $0x07, %ymm15 + c4 63 3d 06 3d 99 00 vperm2f128 %ymm8, 0x0000000010006287, $0x07, %ymm15 00 00 07 - c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x000000001000628c, %ymm8, %ymm14 + c4 63 1d 4b 35 99 00 vblendvpd %ymm12, 0x0000000010006291, %ymm8, %ymm14 00 00 80 c5 f8 ae 94 24 99 00 vldmxcsr 0x99(%rsp) 00 00 @@ -6736,14 +6737,14 @@ test_x86_64_s: c4 42 b3 f7 d7 shrx %r15, %r9, %r10 c4 62 b3 f7 11 shrx (%rcx), %r9, %r10 c4 e2 fb f7 31 shrx (%rcx), %rax, %rsi - 66 e9 00 00 89 c3 data16 jmp $0xffffffffd3897e6b - 66 e8 00 00 66 e9 data16 call $0xfffffffff9667e71 + 66 e9 00 00 89 c3 data16 jmp $0xffffffffd3897e70 + 66 e8 00 00 66 e9 data16 call $0xfffffffff9667e76 00 00 add %al, (%rax) 89 c3 mov %eax, %ebx - 66 e8 00 00 66 ff data16 call $0x000000000f667e7b + 66 e8 00 00 66 ff data16 call $0x000000000f667e80 d0 66 ff shlb $0x01, -0x01(%rsi) 10 66 ff adc %ah, -0x01(%rsi) - e0 66 loopne $0x0000000010007ee9 + e0 66 loopne $0x0000000010007eee ff e0 jmp %rax 66 ff 20 data16 jmp (%rax) 66 ff d0 data16 call %rax @@ -6764,11 +6765,11 @@ test_x86_64_s: 66 ff e0 data16 jmp %rax 66 ff e0 data16 jmp %rax 66 ff 20 data16 jmp (%rax) - e8 00 00 00 00 call $0x0000000010007ebf - e9 00 00 00 00 jmp $0x0000000010007ec4 - 66 e8 00 00 00 00 data16 call $0x0000000010007eca - 66 e9 00 00 00 00 data16 jmp $0x0000000010007ed0 - 66 0f 82 00 00 00 00 data16 jb $0x0000000010007ed7 + e8 00 00 00 00 call $0x0000000010007ec4 + e9 00 00 00 00 jmp $0x0000000010007ec9 + 66 e8 00 00 00 00 data16 call $0x0000000010007ecf + 66 e9 00 00 00 00 data16 jmp $0x0000000010007ed5 + 66 0f 82 00 00 00 00 data16 jb $0x0000000010007edc ff d0 call %rax ff d0 call %rax 66 ff d0 data16 call %rax @@ -6779,8 +6780,8 @@ test_x86_64_s: 66 ff e0 data16 jmp %rax 66 ff e0 data16 jmp %rax 66 ff 20 data16 jmp (%rax) - e8 00 00 00 00 call $0x0000000010007ef6 - e9 00 00 00 00 jmp $0x0000000010007efb + e8 00 00 00 00 call $0x0000000010007efb + e9 00 00 00 00 jmp $0x0000000010007f00 f8 clc 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 @@ -15160,7 +15161,7 @@ test_x86_64_s: 00 00 00 00 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) 00 - eb 05 jmp $0x000000001000bcc2 + eb 05 jmp $0x000000001000bcc7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15168,7 +15169,7 @@ test_x86_64_s: 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 f4 hlt - eb 05 jmp $0x000000001000bce3 + eb 05 jmp $0x000000001000bce8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15177,7 +15178,7 @@ test_x86_64_s: 00 f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd04 + eb 05 jmp $0x000000001000bd09 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15186,7 +15187,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd25 + eb 05 jmp $0x000000001000bd2a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15196,7 +15197,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd46 + eb 05 jmp $0x000000001000bd4b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15207,7 +15208,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd67 + eb 05 jmp $0x000000001000bd6c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15219,7 +15220,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bd88 + eb 05 jmp $0x000000001000bd8d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15232,7 +15233,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bda9 + eb 05 jmp $0x000000001000bdae b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15246,7 +15247,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bdca + eb 05 jmp $0x000000001000bdcf b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15261,7 +15262,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bdeb + eb 05 jmp $0x000000001000bdf0 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15276,7 +15277,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000be0c + eb 05 jmp $0x000000001000be11 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15292,7 +15293,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000be2d + eb 05 jmp $0x000000001000be32 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15309,7 +15310,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000be4e + eb 05 jmp $0x000000001000be53 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) @@ -15327,7 +15328,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000be6f + eb 05 jmp $0x000000001000be74 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) @@ -15345,7 +15346,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000be90 + eb 05 jmp $0x000000001000be95 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) @@ -15364,7 +15365,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000beb1 + eb 05 jmp $0x000000001000beb6 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 44 00 00 nop 0x00(%rax,%rax) @@ -15384,7 +15385,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bed2 + eb 05 jmp $0x000000001000bed7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 40 00 nop 0x00(%rax) @@ -15405,7 +15406,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bef3 + eb 05 jmp $0x000000001000bef8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 00 nop (%rax) @@ -15427,7 +15428,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bf14 + eb 05 jmp $0x000000001000bf19 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -15450,7 +15451,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bf35 + eb 05 jmp $0x000000001000bf3a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -15474,7 +15475,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bf56 + eb 05 jmp $0x000000001000bf5b b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -15498,7 +15499,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bf77 + eb 05 jmp $0x000000001000bf7c b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 40 00 nop 0x00(%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15529,7 +15530,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bfb8 + eb 05 jmp $0x000000001000bfbd b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 00 nop (%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15561,7 +15562,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000bff9 + eb 05 jmp $0x000000001000bffe b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15594,7 +15595,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000c03a + eb 05 jmp $0x000000001000c03f b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15628,7 +15629,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 05 jmp $0x000000001000c07b + eb 05 jmp $0x000000001000c080 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15662,7 +15663,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 09 jmp $0x000000001000c0c0 + eb 09 jmp $0x000000001000c0c5 0f 1f 40 00 nop 0x00(%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15697,7 +15698,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - eb 08 jmp $0x000000001000c100 + eb 08 jmp $0x000000001000c105 0f 1f 00 nop (%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -15734,7 +15735,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - eb 05 jmp $0x000000001000c142 + eb 05 jmp $0x000000001000c147 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15771,7 +15772,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - eb 05 jmp $0x000000001000c182 + eb 05 jmp $0x000000001000c187 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15809,7 +15810,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - eb 05 jmp $0x000000001000c1c2 + eb 05 jmp $0x000000001000c1c7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15848,14 +15849,14 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - eb 05 jmp $0x000000001000c202 + eb 05 jmp $0x000000001000c207 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 - 74 05 jz $0x000000001000c222 + 74 05 jz $0x000000001000c227 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15863,7 +15864,7 @@ test_x86_64_s: 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 f4 hlt - 74 05 jz $0x000000001000c243 + 74 05 jz $0x000000001000c248 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15872,7 +15873,7 @@ test_x86_64_s: 00 f4 hlt f4 hlt - 74 05 jz $0x000000001000c264 + 74 05 jz $0x000000001000c269 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15881,7 +15882,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c285 + 74 05 jz $0x000000001000c28a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15891,7 +15892,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c2a6 + 74 05 jz $0x000000001000c2ab b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15902,7 +15903,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c2c7 + 74 05 jz $0x000000001000c2cc b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15914,7 +15915,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c2e8 + 74 05 jz $0x000000001000c2ed b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15927,7 +15928,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c309 + 74 05 jz $0x000000001000c30e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15941,7 +15942,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c32a + 74 05 jz $0x000000001000c32f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15956,7 +15957,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c34b + 74 05 jz $0x000000001000c350 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -15971,7 +15972,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c36c + 74 05 jz $0x000000001000c371 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) @@ -15987,7 +15988,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c38d + 74 05 jz $0x000000001000c392 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) @@ -16004,7 +16005,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c3ae + 74 05 jz $0x000000001000c3b3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) @@ -16022,7 +16023,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c3cf + 74 05 jz $0x000000001000c3d4 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) @@ -16040,7 +16041,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c3f0 + 74 05 jz $0x000000001000c3f5 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) @@ -16059,7 +16060,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c411 + 74 05 jz $0x000000001000c416 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 44 00 00 nop 0x00(%rax,%rax) @@ -16079,7 +16080,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c432 + 74 05 jz $0x000000001000c437 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 40 00 nop 0x00(%rax) @@ -16100,7 +16101,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c453 + 74 05 jz $0x000000001000c458 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 00 nop (%rax) @@ -16122,7 +16123,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c474 + 74 05 jz $0x000000001000c479 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -16145,7 +16146,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c495 + 74 05 jz $0x000000001000c49a b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -16169,7 +16170,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c4b6 + 74 05 jz $0x000000001000c4bb b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -16193,7 +16194,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c4d7 + 74 05 jz $0x000000001000c4dc b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 40 00 nop 0x00(%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16224,7 +16225,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c518 + 74 05 jz $0x000000001000c51d b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 00 nop (%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16256,7 +16257,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c559 + 74 05 jz $0x000000001000c55e b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16289,7 +16290,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c59a + 74 05 jz $0x000000001000c59f b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16323,7 +16324,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 05 jz $0x000000001000c5db + 74 05 jz $0x000000001000c5e0 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16357,7 +16358,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 74 09 jz $0x000000001000c620 + 74 09 jz $0x000000001000c625 0f 1f 40 00 nop 0x00(%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16393,7 +16394,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 74 05 jz $0x000000001000c662 + 74 05 jz $0x000000001000c667 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16429,7 +16430,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 74 05 jz $0x000000001000c6a2 + 74 05 jz $0x000000001000c6a7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16466,7 +16467,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 74 05 jz $0x000000001000c6e2 + 74 05 jz $0x000000001000c6e7 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16504,7 +16505,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 74 05 jz $0x000000001000c722 + 74 05 jz $0x000000001000c727 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16543,14 +16544,14 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 74 05 jz $0x000000001000c762 + 74 05 jz $0x000000001000c767 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 - 3e 74 05 jz $0x000000001000c783 + 3e 74 05 jz $0x000000001000c788 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16558,7 +16559,7 @@ test_x86_64_s: 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) 00 f4 hlt - 3e 74 05 jz $0x000000001000c7a4 + 3e 74 05 jz $0x000000001000c7a9 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16566,7 +16567,7 @@ test_x86_64_s: 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c7c5 + 3e 74 05 jz $0x000000001000c7ca b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16575,7 +16576,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c7e6 + 3e 74 05 jz $0x000000001000c7eb b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16585,7 +16586,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c807 + 3e 74 05 jz $0x000000001000c80c b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16596,7 +16597,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c828 + 3e 74 05 jz $0x000000001000c82d b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16608,7 +16609,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c849 + 3e 74 05 jz $0x000000001000c84e b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16621,7 +16622,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c86a + 3e 74 05 jz $0x000000001000c86f b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16635,7 +16636,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c88b + 3e 74 05 jz $0x000000001000c890 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -16649,7 +16650,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c8ac + 3e 74 05 jz $0x000000001000c8b1 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) @@ -16664,7 +16665,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c8cd + 3e 74 05 jz $0x000000001000c8d2 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) @@ -16680,7 +16681,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c8ee + 3e 74 05 jz $0x000000001000c8f3 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) @@ -16697,7 +16698,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c90f + 3e 74 05 jz $0x000000001000c914 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 80 00 00 00 00 nop 0x00000000(%rax) @@ -16714,7 +16715,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c930 + 3e 74 05 jz $0x000000001000c935 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) @@ -16732,7 +16733,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c951 + 3e 74 05 jz $0x000000001000c956 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 44 00 00 nop 0x00(%rax,%rax) @@ -16751,7 +16752,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c972 + 3e 74 05 jz $0x000000001000c977 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 40 00 nop 0x00(%rax) @@ -16771,7 +16772,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c993 + 3e 74 05 jz $0x000000001000c998 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 0f 1f 00 nop (%rax) @@ -16792,7 +16793,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c9b4 + 3e 74 05 jz $0x000000001000c9b9 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 90 data16 nop @@ -16814,7 +16815,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c9d5 + 3e 74 05 jz $0x000000001000c9da b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 90 nop @@ -16837,7 +16838,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000c9f6 + 3e 74 05 jz $0x000000001000c9fb b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax f4 hlt @@ -16860,7 +16861,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000ca17 + 3e 74 05 jz $0x000000001000ca1c b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 40 00 nop 0x00(%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16890,7 +16891,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000ca58 + 3e 74 05 jz $0x000000001000ca5d b8 ef be ad de mov $0xdeadbeef, %eax 0f 1f 00 nop (%rax) b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16921,7 +16922,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000ca99 + 3e 74 05 jz $0x000000001000ca9e b8 ef be ad de mov $0xdeadbeef, %eax 66 90 data16 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16953,7 +16954,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000cada + 3e 74 05 jz $0x000000001000cadf b8 ef be ad de mov $0xdeadbeef, %eax 90 nop b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -16986,7 +16987,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 05 jz $0x000000001000cb1b + 3e 74 05 jz $0x000000001000cb20 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17019,7 +17020,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 74 09 jz $0x000000001000cb60 + 3e 74 09 jz $0x000000001000cb65 0f 1f 40 00 nop 0x00(%rax) b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax @@ -17054,7 +17055,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) - 3e 74 05 jz $0x000000001000cba3 + 3e 74 05 jz $0x000000001000cba8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17089,7 +17090,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 3e 74 05 jz $0x000000001000cbe3 + 3e 74 05 jz $0x000000001000cbe8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17125,7 +17126,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 3e 74 05 jz $0x000000001000cc23 + 3e 74 05 jz $0x000000001000cc28 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17162,7 +17163,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 3e 74 05 jz $0x000000001000cc63 + 3e 74 05 jz $0x000000001000cc68 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17200,7 +17201,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 3e 74 05 jz $0x000000001000cca3 + 3e 74 05 jz $0x000000001000cca8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) @@ -17239,14 +17240,14 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 3e 74 05 jz $0x000000001000cce3 + 3e 74 05 jz $0x000000001000cce8 b8 ef be ad de mov $0xdeadbeef, %eax b8 0b b0 00 00 mov $0x0000b00b, %eax 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 0f 1f 84 00 00 00 00 nop 0x00000000(%rax,%rax) 00 - e9 80 00 00 00 jmp $0x000000001000cd80 + e9 80 00 00 00 jmp $0x000000001000cd85 f8 clc f8 clc f8 clc @@ -17381,7 +17382,7 @@ test_x86_64_s: 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 f4 hlt - e9 80 00 00 00 jmp $0x000000001000ce21 + e9 80 00 00 00 jmp $0x000000001000ce26 f8 clc f8 clc f8 clc @@ -17517,7 +17518,7 @@ test_x86_64_s: 00 00 00 f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cec2 + e9 80 00 00 00 jmp $0x000000001000cec7 f8 clc f8 clc f8 clc @@ -17654,7 +17655,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000cf63 + e9 80 00 00 00 jmp $0x000000001000cf68 f8 clc f8 clc f8 clc @@ -17792,7 +17793,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d004 + e9 80 00 00 00 jmp $0x000000001000d009 f8 clc f8 clc f8 clc @@ -17930,7 +17931,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d0a5 + e9 80 00 00 00 jmp $0x000000001000d0aa f8 clc f8 clc f8 clc @@ -18069,7 +18070,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d146 + e9 80 00 00 00 jmp $0x000000001000d14b f8 clc f8 clc f8 clc @@ -18209,7 +18210,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d1e7 + e9 80 00 00 00 jmp $0x000000001000d1ec f8 clc f8 clc f8 clc @@ -18350,7 +18351,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d288 + e9 80 00 00 00 jmp $0x000000001000d28d f8 clc f8 clc f8 clc @@ -18492,7 +18493,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d329 + e9 80 00 00 00 jmp $0x000000001000d32e f8 clc f8 clc f8 clc @@ -18635,7 +18636,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d3ca + e9 80 00 00 00 jmp $0x000000001000d3cf f8 clc f8 clc f8 clc @@ -18779,7 +18780,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d46b + e9 80 00 00 00 jmp $0x000000001000d470 f8 clc f8 clc f8 clc @@ -18923,7 +18924,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d50c + e9 80 00 00 00 jmp $0x000000001000d511 f8 clc f8 clc f8 clc @@ -19068,7 +19069,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d5ad + e9 80 00 00 00 jmp $0x000000001000d5b2 f8 clc f8 clc f8 clc @@ -19214,7 +19215,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d64e + e9 80 00 00 00 jmp $0x000000001000d653 f8 clc f8 clc f8 clc @@ -19361,7 +19362,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d6ef + e9 80 00 00 00 jmp $0x000000001000d6f4 f8 clc f8 clc f8 clc @@ -19508,7 +19509,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d790 + e9 80 00 00 00 jmp $0x000000001000d795 f8 clc f8 clc f8 clc @@ -19656,7 +19657,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d831 + e9 80 00 00 00 jmp $0x000000001000d836 f8 clc f8 clc f8 clc @@ -19805,7 +19806,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d8d2 + e9 80 00 00 00 jmp $0x000000001000d8d7 f8 clc f8 clc f8 clc @@ -19955,7 +19956,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000d973 + e9 80 00 00 00 jmp $0x000000001000d978 f8 clc f8 clc f8 clc @@ -20106,7 +20107,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000da14 + e9 80 00 00 00 jmp $0x000000001000da19 f8 clc f8 clc f8 clc @@ -20258,7 +20259,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000dab5 + e9 80 00 00 00 jmp $0x000000001000daba f8 clc f8 clc f8 clc @@ -20411,7 +20412,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000db56 + e9 80 00 00 00 jmp $0x000000001000db5b f8 clc f8 clc f8 clc @@ -20564,7 +20565,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000dbf7 + e9 80 00 00 00 jmp $0x000000001000dbfc f8 clc f8 clc f8 clc @@ -20724,7 +20725,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000dcb8 + e9 80 00 00 00 jmp $0x000000001000dcbd f8 clc f8 clc f8 clc @@ -20885,7 +20886,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000dd79 + e9 80 00 00 00 jmp $0x000000001000dd7e f8 clc f8 clc f8 clc @@ -21047,7 +21048,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000de3a + e9 80 00 00 00 jmp $0x000000001000de3f f8 clc f8 clc f8 clc @@ -21210,7 +21211,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - e9 80 00 00 00 jmp $0x000000001000defb + e9 80 00 00 00 jmp $0x000000001000df00 f8 clc f8 clc f8 clc @@ -21374,7 +21375,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - e9 80 00 00 00 jmp $0x000000001000dfc0 + e9 80 00 00 00 jmp $0x000000001000dfc5 f8 clc f8 clc f8 clc @@ -21538,7 +21539,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - e9 80 00 00 00 jmp $0x000000001000e080 + e9 80 00 00 00 jmp $0x000000001000e085 f8 clc f8 clc f8 clc @@ -21703,7 +21704,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - e9 80 00 00 00 jmp $0x000000001000e140 + e9 80 00 00 00 jmp $0x000000001000e145 f8 clc f8 clc f8 clc @@ -21869,7 +21870,7 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - e9 80 00 00 00 jmp $0x000000001000e200 + e9 80 00 00 00 jmp $0x000000001000e205 f8 clc f8 clc f8 clc @@ -22003,7 +22004,7 @@ test_x86_64_s: 00 00 00 00 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 - 0f 84 80 00 00 00 jz $0x000000001000e2a1 + 0f 84 80 00 00 00 jz $0x000000001000e2a6 f8 clc f8 clc f8 clc @@ -22138,7 +22139,7 @@ test_x86_64_s: 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e342 + 0f 84 80 00 00 00 jz $0x000000001000e347 f8 clc f8 clc f8 clc @@ -22274,7 +22275,7 @@ test_x86_64_s: 00 00 f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e3e3 + 0f 84 80 00 00 00 jz $0x000000001000e3e8 f8 clc f8 clc f8 clc @@ -22411,7 +22412,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e484 + 0f 84 80 00 00 00 jz $0x000000001000e489 f8 clc f8 clc f8 clc @@ -22548,7 +22549,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e525 + 0f 84 80 00 00 00 jz $0x000000001000e52a f8 clc f8 clc f8 clc @@ -22686,7 +22687,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e5c6 + 0f 84 80 00 00 00 jz $0x000000001000e5cb f8 clc f8 clc f8 clc @@ -22825,7 +22826,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e667 + 0f 84 80 00 00 00 jz $0x000000001000e66c f8 clc f8 clc f8 clc @@ -22965,7 +22966,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e708 + 0f 84 80 00 00 00 jz $0x000000001000e70d f8 clc f8 clc f8 clc @@ -23106,7 +23107,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e7a9 + 0f 84 80 00 00 00 jz $0x000000001000e7ae f8 clc f8 clc f8 clc @@ -23248,7 +23249,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e84a + 0f 84 80 00 00 00 jz $0x000000001000e84f f8 clc f8 clc f8 clc @@ -23391,7 +23392,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e8eb + 0f 84 80 00 00 00 jz $0x000000001000e8f0 f8 clc f8 clc f8 clc @@ -23534,7 +23535,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000e98c + 0f 84 80 00 00 00 jz $0x000000001000e991 f8 clc f8 clc f8 clc @@ -23678,7 +23679,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ea2d + 0f 84 80 00 00 00 jz $0x000000001000ea32 f8 clc f8 clc f8 clc @@ -23823,7 +23824,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000eace + 0f 84 80 00 00 00 jz $0x000000001000ead3 f8 clc f8 clc f8 clc @@ -23969,7 +23970,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000eb6f + 0f 84 80 00 00 00 jz $0x000000001000eb74 f8 clc f8 clc f8 clc @@ -24115,7 +24116,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ec10 + 0f 84 80 00 00 00 jz $0x000000001000ec15 f8 clc f8 clc f8 clc @@ -24262,7 +24263,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ecb1 + 0f 84 80 00 00 00 jz $0x000000001000ecb6 f8 clc f8 clc f8 clc @@ -24410,7 +24411,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ed52 + 0f 84 80 00 00 00 jz $0x000000001000ed57 f8 clc f8 clc f8 clc @@ -24559,7 +24560,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000edf3 + 0f 84 80 00 00 00 jz $0x000000001000edf8 f8 clc f8 clc f8 clc @@ -24709,7 +24710,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ee94 + 0f 84 80 00 00 00 jz $0x000000001000ee99 f8 clc f8 clc f8 clc @@ -24860,7 +24861,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000ef35 + 0f 84 80 00 00 00 jz $0x000000001000ef3a f8 clc f8 clc f8 clc @@ -25012,7 +25013,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000efd6 + 0f 84 80 00 00 00 jz $0x000000001000efdb f8 clc f8 clc f8 clc @@ -25164,7 +25165,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000f077 + 0f 84 80 00 00 00 jz $0x000000001000f07c f8 clc f8 clc f8 clc @@ -25323,7 +25324,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000f138 + 0f 84 80 00 00 00 jz $0x000000001000f13d f8 clc f8 clc f8 clc @@ -25483,7 +25484,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000f1f9 + 0f 84 80 00 00 00 jz $0x000000001000f1fe f8 clc f8 clc f8 clc @@ -25644,7 +25645,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000f2ba + 0f 84 80 00 00 00 jz $0x000000001000f2bf f8 clc f8 clc f8 clc @@ -25806,7 +25807,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 0f 84 80 00 00 00 jz $0x000000001000f37b + 0f 84 80 00 00 00 jz $0x000000001000f380 f8 clc f8 clc f8 clc @@ -25969,7 +25970,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 0f 84 80 00 00 00 jz $0x000000001000f441 + 0f 84 80 00 00 00 jz $0x000000001000f446 f8 clc f8 clc f8 clc @@ -26132,7 +26133,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 0f 84 80 00 00 00 jz $0x000000001000f501 + 0f 84 80 00 00 00 jz $0x000000001000f506 f8 clc f8 clc f8 clc @@ -26296,7 +26297,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 0f 84 80 00 00 00 jz $0x000000001000f5c1 + 0f 84 80 00 00 00 jz $0x000000001000f5c6 f8 clc f8 clc f8 clc @@ -26461,7 +26462,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 0f 84 80 00 00 00 jz $0x000000001000f681 + 0f 84 80 00 00 00 jz $0x000000001000f686 f8 clc f8 clc f8 clc @@ -26627,7 +26628,7 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 0f 84 80 00 00 00 jz $0x000000001000f741 + 0f 84 80 00 00 00 jz $0x000000001000f746 f8 clc f8 clc f8 clc @@ -26761,7 +26762,7 @@ test_x86_64_s: 00 00 00 00 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 - 3e 0f 84 80 00 00 00 jz $0x000000001000f7e2 + 3e 0f 84 80 00 00 00 jz $0x000000001000f7e7 f8 clc f8 clc f8 clc @@ -26896,7 +26897,7 @@ test_x86_64_s: 66 0f 1f 84 00 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f883 + 3e 0f 84 80 00 00 00 jz $0x000000001000f888 f8 clc f8 clc f8 clc @@ -27032,7 +27033,7 @@ test_x86_64_s: 00 f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f924 + 3e 0f 84 80 00 00 00 jz $0x000000001000f929 f8 clc f8 clc f8 clc @@ -27168,7 +27169,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000f9c5 + 3e 0f 84 80 00 00 00 jz $0x000000001000f9ca f8 clc f8 clc f8 clc @@ -27305,7 +27306,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fa66 + 3e 0f 84 80 00 00 00 jz $0x000000001000fa6b f8 clc f8 clc f8 clc @@ -27443,7 +27444,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fb07 + 3e 0f 84 80 00 00 00 jz $0x000000001000fb0c f8 clc f8 clc f8 clc @@ -27582,7 +27583,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fba8 + 3e 0f 84 80 00 00 00 jz $0x000000001000fbad f8 clc f8 clc f8 clc @@ -27722,7 +27723,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fc49 + 3e 0f 84 80 00 00 00 jz $0x000000001000fc4e f8 clc f8 clc f8 clc @@ -27863,7 +27864,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fcea + 3e 0f 84 80 00 00 00 jz $0x000000001000fcef f8 clc f8 clc f8 clc @@ -28005,7 +28006,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fd8b + 3e 0f 84 80 00 00 00 jz $0x000000001000fd90 f8 clc f8 clc f8 clc @@ -28147,7 +28148,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fe2c + 3e 0f 84 80 00 00 00 jz $0x000000001000fe31 f8 clc f8 clc f8 clc @@ -28290,7 +28291,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000fecd + 3e 0f 84 80 00 00 00 jz $0x000000001000fed2 f8 clc f8 clc f8 clc @@ -28434,7 +28435,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001000ff6e + 3e 0f 84 80 00 00 00 jz $0x000000001000ff73 f8 clc f8 clc f8 clc @@ -28579,7 +28580,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001001000f + 3e 0f 84 80 00 00 00 jz $0x0000000010010014 f8 clc f8 clc f8 clc @@ -28724,7 +28725,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100100b0 + 3e 0f 84 80 00 00 00 jz $0x00000000100100b5 f8 clc f8 clc f8 clc @@ -28870,7 +28871,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010151 + 3e 0f 84 80 00 00 00 jz $0x0000000010010156 f8 clc f8 clc f8 clc @@ -29017,7 +29018,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100101f2 + 3e 0f 84 80 00 00 00 jz $0x00000000100101f7 f8 clc f8 clc f8 clc @@ -29165,7 +29166,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010293 + 3e 0f 84 80 00 00 00 jz $0x0000000010010298 f8 clc f8 clc f8 clc @@ -29314,7 +29315,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010334 + 3e 0f 84 80 00 00 00 jz $0x0000000010010339 f8 clc f8 clc f8 clc @@ -29464,7 +29465,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100103d5 + 3e 0f 84 80 00 00 00 jz $0x00000000100103da f8 clc f8 clc f8 clc @@ -29615,7 +29616,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010476 + 3e 0f 84 80 00 00 00 jz $0x000000001001047b f8 clc f8 clc f8 clc @@ -29766,7 +29767,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010517 + 3e 0f 84 80 00 00 00 jz $0x000000001001051c f8 clc f8 clc f8 clc @@ -29924,7 +29925,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x00000000100105d8 + 3e 0f 84 80 00 00 00 jz $0x00000000100105dd f8 clc f8 clc f8 clc @@ -30083,7 +30084,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x0000000010010699 + 3e 0f 84 80 00 00 00 jz $0x000000001001069e f8 clc f8 clc f8 clc @@ -30243,7 +30244,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001001075a + 3e 0f 84 80 00 00 00 jz $0x000000001001075f f8 clc f8 clc f8 clc @@ -30404,7 +30405,7 @@ test_x86_64_s: f4 hlt f4 hlt f4 hlt - 3e 0f 84 80 00 00 00 jz $0x000000001001081b + 3e 0f 84 80 00 00 00 jz $0x0000000010010820 f8 clc f8 clc f8 clc @@ -30566,7 +30567,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) - 3e 0f 84 80 00 00 00 jz $0x00000000100108e2 + 3e 0f 84 80 00 00 00 jz $0x00000000100108e7 f8 clc f8 clc f8 clc @@ -30728,7 +30729,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 44 00 00 nop 0x00(%rax,%rax) - 3e 0f 84 80 00 00 00 jz $0x00000000100109a2 + 3e 0f 84 80 00 00 00 jz $0x00000000100109a7 f8 clc f8 clc f8 clc @@ -30891,7 +30892,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 40 00 nop 0x00(%rax) - 3e 0f 84 80 00 00 00 jz $0x0000000010010a62 + 3e 0f 84 80 00 00 00 jz $0x0000000010010a67 f8 clc f8 clc f8 clc @@ -31055,7 +31056,7 @@ test_x86_64_s: f4 hlt f4 hlt 0f 1f 00 nop (%rax) - 3e 0f 84 80 00 00 00 jz $0x0000000010010b22 + 3e 0f 84 80 00 00 00 jz $0x0000000010010b27 f8 clc f8 clc f8 clc @@ -31220,7 +31221,7 @@ test_x86_64_s: f4 hlt f4 hlt 66 90 data16 nop - 3e 0f 84 80 00 00 00 jz $0x0000000010010be2 + 3e 0f 84 80 00 00 00 jz $0x0000000010010be7 f8 clc f8 clc f8 clc @@ -31386,7 +31387,7 @@ test_x86_64_s: f4 hlt f4 hlt 90 nop - 3e 0f 84 80 00 00 00 jz $0x0000000010010ca2 + 3e 0f 84 80 00 00 00 jz $0x0000000010010ca7 f8 clc f8 clc f8 clc @@ -31645,9 +31646,9 @@ test_x86_64_s: 8b 98 ff 0f 00 00 mov 0x00000fff(%rax), %ebx 8b 98 00 00 00 00 mov 0x00000000(%rax), %ebx 8b 98 03 00 00 00 mov 0x00000003(%rax), %ebx - eb 07 jmp $0x0000000010010f2d - eb 05 jmp $0x0000000010010f2d - e9 00 00 00 00 jmp $0x0000000010010f2d + eb 07 jmp $0x0000000010010f32 + eb 05 jmp $0x0000000010010f32 + e9 00 00 00 00 jmp $0x0000000010010f32 89 18 mov %ebx, (%rax) 89 58 03 mov %ebx, 0x03(%rax) 89 98 ff 0f 00 00 mov %ebx, 0x00000fff(%rax) @@ -32440,24 +32441,24 @@ test_x86_64_s: 0f 01 18 lidt (%rax) 0f 01 00 sgdt (%rax) 0f 01 10 lgdt (%rax) - 48 8b 05 00 00 00 00 mov 0x0000000010011eb1, %rax + 48 8b 05 00 00 00 00 mov 0x0000000010011eb6, %rax 48 c7 c0 00 00 00 00 mov $0x00000000, %rax 48 8b 04 25 00 00 00 mov 0x00, %rax 00 - 48 8b 05 00 00 00 00 mov 0x0000000010011ec7, %rax + 48 8b 05 00 00 00 00 mov 0x0000000010011ecc, %rax 48 8b 81 00 00 00 00 mov 0x00000000(%rcx), %rax - ff 15 00 00 00 00 call 0x0000000010011ed4 + ff 15 00 00 00 00 call 0x0000000010011ed9 ff 90 00 00 00 00 call 0x00000000(%rax) - ff 25 00 00 00 00 jmp 0x0000000010011ee0 + ff 25 00 00 00 00 jmp 0x0000000010011ee5 ff a1 00 00 00 00 jmp 0x00000000(%rcx) 48 c7 c0 00 00 00 00 mov $0x00000000, %rax 48 8b 04 25 00 00 00 mov 0x00, %rax 00 - 48 8b 05 00 00 00 00 mov 0x0000000010011efc, %rax + 48 8b 05 00 00 00 00 mov 0x0000000010011f01, %rax 48 8b 81 00 00 00 00 mov 0x00000000(%rcx), %rax - ff 15 00 00 00 00 call 0x0000000010011f09 + ff 15 00 00 00 00 call 0x0000000010011f0e ff 90 00 00 00 00 call 0x00000000(%rax) - ff 25 00 00 00 00 jmp 0x0000000010011f15 + ff 25 00 00 00 00 jmp 0x0000000010011f1a ff a1 00 00 00 00 jmp 0x00000000(%rcx) f2 f0 80 11 64 xacquire lock adcb $0x64, (%rcx) f2 f0 80 11 64 xacquire lock adcb $0x64, (%rcx) @@ -34256,8 +34257,8 @@ test_x86_64_s: 66 48 6d insd 48 6f outsd 66 48 6f outsd - eb fe jmp $0x0000000010014256 - e9 00 00 00 00 jmp $0x000000001001425d + eb fe jmp $0x000000001001425b + e9 00 00 00 00 jmp $0x0000000010014262 ff 24 25 00 00 00 00 jmp 0x00 ff e7 jmp %rdi ff 27 jmp (%rdi) @@ -34267,8 +34268,8 @@ test_x86_64_s: ff 2c 25 00 00 00 00 ljmp 0x00 66 ff 2c 25 00 00 00 data16 ljmp 0x00 00 - e8 cb ff ff ff call $0x0000000010014256 - e8 00 00 00 00 call $0x0000000010014290 + e8 cb ff ff ff call $0x000000001001425b + e8 00 00 00 00 call $0x0000000010014295 ff 14 25 00 00 00 00 call 0x00 ff d7 call %rdi ff 17 call (%rdi) @@ -34278,22 +34279,22 @@ test_x86_64_s: ff 1c 25 00 00 00 00 lcall 0x00 66 ff 1c 25 00 00 00 data16 lcall 0x00 00 - 67 e3 00 addr32 jecxz $0x00000000100142bc + 67 e3 00 addr32 jecxz $0x00000000100142c1 90 nop - e3 00 jrcxz $0x00000000100142bf + e3 00 jrcxz $0x00000000100142c4 90 nop 66 ff 13 data16 call (%rbx) ff 1b lcall (%rbx) 66 ff 23 data16 jmp (%rbx) ff 2b ljmp (%rbx) - eb 00 jmp $0x00000000100142cc + eb 00 jmp $0x00000000100142d1 90 nop - 67 e3 00 addr32 jecxz $0x00000000100142d0 + 67 e3 00 addr32 jecxz $0x00000000100142d5 90 nop - e3 00 jrcxz $0x00000000100142d3 + e3 00 jrcxz $0x00000000100142d8 90 nop - eb 00 jmp $0x00000000100142d6 - 48 8b 05 00 00 00 00 mov 0x00000000100142dd, %rax + eb 00 jmp $0x00000000100142db + 48 8b 05 00 00 00 00 mov 0x00000000100142e2, %rax f0 01 03 lock add %eax, (%rbx) f0 83 03 64 lock addl $0x64, (%rbx) f0 11 03 lock adc %eax, (%rbx) @@ -35059,11 +35060,11 @@ test_x86_64_s: 48 0f c3 00 movnti %rax, (%rax) 4d 0f c3 00 movnti %r8, (%r8) 4c 0f c3 00 movnti %r8, (%rax) - e2 fe loop $0x000000001001516d - e2 fe loop $0x000000001001516f - 67 e2 fd addr32 loop $0x0000000010015171 - e3 fe jrcxz $0x0000000010015174 - 67 e3 fd addr32 jecxz $0x0000000010015176 + e2 fe loop $0x0000000010015172 + e2 fe loop $0x0000000010015174 + 67 e2 fd addr32 loop $0x0000000010015176 + e3 fe jrcxz $0x0000000010015179 + 67 e3 fd addr32 jecxz $0x000000001001517b 41 f6 38 idiv (%r8), %ax f6 38 idiv (%rax), %ax 66 41 f7 38 data16 idiv (%r8), %dx, %ax @@ -35737,14 +35738,14 @@ test_x86_64_s: 0f 73 f6 02 psllq $0x02, %mm6 66 0f 73 f2 02 psllq $0x02, %xmm2 66 0f 73 fa 02 pslldq $0x02, %xmm2 - 0f 84 6b 02 00 00 jz $0x0000000010015d73 + 0f 84 6b 02 00 00 jz $0x0000000010015d78 90 nop 90 nop 90 nop 90 nop 90 nop 90 nop - 0f 84 5f 02 00 00 jz $0x0000000010015d73 + 0f 84 5f 02 00 00 jz $0x0000000010015d78 90 nop 90 nop 90 nop @@ -35879,12 +35880,12 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 74 ff ff ff jz $0x0000000010015b14 + 0f 84 74 ff ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop 90 nop - 0f 84 6a ff ff ff jz $0x0000000010015b14 + 0f 84 6a ff ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -35893,7 +35894,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 bb 01 00 00 jz $0x0000000010015d73 + 0f 84 bb 01 00 00 jz $0x0000000010015d78 90 nop 90 nop 90 nop @@ -35904,24 +35905,24 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 4c ff ff ff jz $0x0000000010015b14 + 0f 84 4c ff ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop 90 nop - 0f 84 42 ff ff ff jz $0x0000000010015b14 + 0f 84 42 ff ff ff jz $0x0000000010015b19 4c 8b b4 24 30 01 00 mov 0x00000130(%rsp), %r14 00 90 nop 90 nop - 0f 84 32 ff ff ff jz $0x0000000010015b14 - 0f 84 2c ff ff ff jz $0x0000000010015b14 + 0f 84 32 ff ff ff jz $0x0000000010015b19 + 0f 84 2c ff ff ff jz $0x0000000010015b19 4c 8b b4 24 00 01 00 mov 0x00000100(%rsp), %r14 00 90 nop 90 nop 90 nop - 0f 84 7a 01 00 00 jz $0x0000000010015d73 + 0f 84 7a 01 00 00 jz $0x0000000010015d78 90 nop 90 nop 90 nop @@ -35932,7 +35933,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 0b ff ff ff jz $0x0000000010015b14 + 0f 84 0b ff ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -35946,18 +35947,18 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 f8 fe ff ff jz $0x0000000010015b14 + 0f 84 f8 fe ff ff jz $0x0000000010015b19 48 8d b4 24 b0 01 00 lea 0x000001b0(%rsp), %rsi 00 - 0f 84 ea fe ff ff jz $0x0000000010015b14 + 0f 84 ea fe ff ff jz $0x0000000010015b19 4c 8b b4 24 b0 00 00 mov 0xb0(%rsp), %r14 00 - 0f 84 3b 01 00 00 jz $0x0000000010015d73 - 0f 84 d6 fe ff ff jz $0x0000000010015b14 - 0f 84 d0 fe ff ff jz $0x0000000010015b14 + 0f 84 3b 01 00 00 jz $0x0000000010015d78 + 0f 84 d6 fe ff ff jz $0x0000000010015b19 + 0f 84 d0 fe ff ff jz $0x0000000010015b19 48 8d b4 24 a8 01 00 lea 0x000001a8(%rsp), %rsi 00 - 0f 84 c2 fe ff ff jz $0x0000000010015b14 + 0f 84 c2 fe ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -35980,7 +35981,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 a6 fe ff ff jz $0x0000000010015b14 + 0f 84 a6 fe ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -35992,10 +35993,10 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 95 fe ff ff jz $0x0000000010015b14 + 0f 84 95 fe ff ff jz $0x0000000010015b19 48 8d b4 24 a0 01 00 lea 0x000001a0(%rsp), %rsi 00 - 0f 84 87 fe ff ff jz $0x0000000010015b14 + 0f 84 87 fe ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -36017,7 +36018,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 cb 00 00 00 jz $0x0000000010015d73 + 0f 84 cb 00 00 00 jz $0x0000000010015d78 90 nop 90 nop 90 nop @@ -36026,7 +36027,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 5e fe ff ff jz $0x0000000010015b14 + 0f 84 5e fe ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -36038,7 +36039,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 4d fe ff ff jz $0x0000000010015b14 + 0f 84 4d fe ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -36046,7 +36047,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 40 fe ff ff jz $0x0000000010015b14 + 0f 84 40 fe ff ff jz $0x0000000010015b19 90 nop 90 nop 90 nop @@ -36069,7 +36070,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 83 00 00 00 jz $0x0000000010015d73 + 0f 84 83 00 00 00 jz $0x0000000010015d78 90 nop 90 nop 90 nop @@ -36209,13 +36210,13 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 24 01 00 00 jz $0x0000000010015eb7 + 0f 84 24 01 00 00 jz $0x0000000010015ebc 66 66 2e 0f 1f 84 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 00 0f 1f 40 00 nop 0x00(%rax) 90 nop 90 nop - 0f 84 0d 01 00 00 jz $0x0000000010015eb7 + 0f 84 0d 01 00 00 jz $0x0000000010015ebc 90 nop 90 nop 90 nop @@ -36253,7 +36254,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 e2 00 00 00 jz $0x0000000010015eb7 + 0f 84 e2 00 00 00 jz $0x0000000010015ebc 90 nop 90 nop 90 nop @@ -36313,7 +36314,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 a1 00 00 00 jz $0x0000000010015eb7 + 0f 84 a1 00 00 00 jz $0x0000000010015ebc 90 nop 90 nop 90 nop @@ -36382,7 +36383,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 74 06 jz $0x0000000010015e62 + 74 06 jz $0x0000000010015e67 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) 90 nop 90 nop @@ -36534,17 +36535,17 @@ test_x86_64_s: 67 f3 48 ab addr32 rep stosq 67 f3 48 a7 addr32 rep cmpsq 67 f3 48 af addr32 rep scasq - 8d 05 00 00 00 00 lea 0x0000000010015f78, %eax - 8d 05 11 11 11 11 lea 0x000000002112708f, %eax - 8d 05 01 00 00 00 lea 0x0000000010015f85, %eax - 8d 05 00 00 00 00 lea 0x0000000010015f8a, %eax + 8d 05 00 00 00 00 lea 0x0000000010015f7d, %eax + 8d 05 11 11 11 11 lea 0x0000000021127094, %eax + 8d 05 01 00 00 00 lea 0x0000000010015f8a, %eax + 8d 05 00 00 00 00 lea 0x0000000010015f8f, %eax c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x0000000010015f8d - c7 f8 00 00 00 00 xbegin $0x0000000010015f99 + c7 f8 fa ff ff ff xbegin $0x0000000010015f92 + c7 f8 00 00 00 00 xbegin $0x0000000010015f9e 0f 01 d5 xend c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x0000000010015f9f - c7 f8 00 00 00 00 xbegin $0x0000000010015fab + c7 f8 fa ff ff ff xbegin $0x0000000010015fa4 + c7 f8 00 00 00 00 xbegin $0x0000000010015fb0 0f 01 d5 xend 0f 01 d6 xtest 8c 18 mov %ds, (%rax) @@ -36640,17 +36641,17 @@ test_x86_64_s: 41 8b 04 64 mov (%r12), %eax 41 8b 04 a4 mov (%r12), %eax 41 8b 04 e4 mov (%r12), %eax - f2 0f d0 0d 78 56 34 addsubps 0x000000002235b7a7, %xmm1 + f2 0f d0 0d 78 56 34 addsubps 0x000000002235b7ac, %xmm1 12 - 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b7af + 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b7b4 12 - 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b7b6 - f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b7be, %xmm1 + 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b7bb + f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b7c3, %xmm1 12 - f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b7c6, %xmm1 + f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b7cb, %xmm1 12 - 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b7cd, %xmm1 - f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b7d5, %xmm1 + 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b7d2, %xmm1 + f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b7da, %xmm1 12 f3 0f 2a c8 cvtsi2ss %eax, %xmm1 f2 0f 2a c8 cvtsi2sd %eax, %xmm1 @@ -36666,50 +36667,50 @@ test_x86_64_s: f2 0f 2a 08 cvtsi2sd (%rax), %xmm1 f3 48 0f 2a 08 cvtsi2ss (%rax), %xmm1 f2 48 0f 2a 08 cvtsi2sd (%rax), %xmm1 - f2 0f 7c 0d 78 56 34 haddps 0x000000002235b81b, %xmm1 + f2 0f 7c 0d 78 56 34 haddps 0x000000002235b820, %xmm1 12 - f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b823 + f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b828 12 - f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b82b, %xmm1 + f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b830, %xmm1 12 - 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b833 + 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b838 12 - 66 0f 16 0d 78 56 34 movhpd 0x000000002235b83b, %xmm1 + 66 0f 16 0d 78 56 34 movhpd 0x000000002235b840, %xmm1 12 - 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b842 - 0f 16 0d 78 56 34 12 movhps 0x000000002235b849, %xmm1 - 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b851 + 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b847 + 0f 16 0d 78 56 34 12 movhps 0x000000002235b84e, %xmm1 + 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b856 12 - 66 0f 12 0d 78 56 34 movlpd 0x000000002235b859, %xmm1 + 66 0f 12 0d 78 56 34 movlpd 0x000000002235b85e, %xmm1 12 - 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b860 - 0f 12 0d 78 56 34 12 movlps 0x000000002235b867, %xmm1 - 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b86f + 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b865 + 0f 12 0d 78 56 34 12 movlps 0x000000002235b86c, %xmm1 + 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b874 12 - f3 0f 7e 0d 78 56 34 movq 0x000000002235b877, %xmm1 + f3 0f 7e 0d 78 56 34 movq 0x000000002235b87c, %xmm1 12 - f3 0f 16 0d 78 56 34 movshdup 0x000000002235b87f, %xmm1 + f3 0f 16 0d 78 56 34 movshdup 0x000000002235b884, %xmm1 12 - f3 0f 12 0d 78 56 34 movsldup 0x000000002235b887, %xmm1 + f3 0f 12 0d 78 56 34 movsldup 0x000000002235b88c, %xmm1 12 - f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b890, $0x90, %xmm1 + f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b895, $0x90, %xmm1 12 90 - f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b899, $0x90, %xmm1 + f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b89e, $0x90, %xmm1 12 90 - 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b8a0, %mm1 - 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b8a7, %mm1 - 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b8ae, %mm1 - 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b8b6, %xmm1 + 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b8a5, %mm1 + 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b8ac, %mm1 + 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b8b3, %mm1 + 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b8bb, %xmm1 12 - 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b8be, %xmm1 + 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b8c3, %xmm1 12 - 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b8c6, %xmm1 + 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b8cb, %xmm1 12 - 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b8ce, %xmm1 + 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b8d3, %xmm1 12 - 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b8d6 + 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b8db 12 - 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b8dd + 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b8e2 f2 0f c2 00 00 cmpsd (%rax), $0x00, %xmm0 f3 0f c2 00 00 cmpss (%rax), $0x00, %xmm0 66 0f 2a 00 cvtpi2pd (%rax), %xmm0 @@ -36780,17 +36781,17 @@ test_x86_64_s: 0f f4 00 pmuludq (%rax), %mm0 66 0f f4 c1 pmuludq %xmm1, %xmm0 66 0f f4 00 pmuludq (%rax), %xmm0 - f2 0f d0 0d 78 56 34 addsubps 0x000000002235ba0f, %xmm1 + f2 0f d0 0d 78 56 34 addsubps 0x000000002235ba14, %xmm1 12 - 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235ba17 + 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235ba1c 12 - 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235ba1e - f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235ba26, %xmm1 + 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235ba23 + f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235ba2b, %xmm1 12 - f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235ba2e, %xmm1 + f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235ba33, %xmm1 12 - 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235ba35, %xmm1 - f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235ba3d, %xmm1 + 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235ba3a, %xmm1 + f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235ba42, %xmm1 12 f3 0f 2a c8 cvtsi2ss %eax, %xmm1 f2 0f 2a c8 cvtsi2sd %eax, %xmm1 @@ -36808,50 +36809,50 @@ test_x86_64_s: f2 48 0f 2a 08 cvtsi2sd (%rax), %xmm1 f3 48 0f 2a 08 cvtsi2ss (%rax), %xmm1 f2 48 0f 2a 08 cvtsi2sd (%rax), %xmm1 - f2 0f 7c 0d 78 56 34 haddps 0x000000002235ba8d, %xmm1 + f2 0f 7c 0d 78 56 34 haddps 0x000000002235ba92, %xmm1 12 - f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235ba95 + f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235ba9a 12 - f3 0f 6f 0d 78 56 34 movdqu 0x000000002235ba9d, %xmm1 + f3 0f 6f 0d 78 56 34 movdqu 0x000000002235baa2, %xmm1 12 - 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235baa5 + 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235baaa 12 - 66 0f 16 0d 78 56 34 movhpd 0x000000002235baad, %xmm1 + 66 0f 16 0d 78 56 34 movhpd 0x000000002235bab2, %xmm1 12 - 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235bab4 - 0f 16 0d 78 56 34 12 movhps 0x000000002235babb, %xmm1 - 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235bac3 + 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235bab9 + 0f 16 0d 78 56 34 12 movhps 0x000000002235bac0, %xmm1 + 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235bac8 12 - 66 0f 12 0d 78 56 34 movlpd 0x000000002235bacb, %xmm1 + 66 0f 12 0d 78 56 34 movlpd 0x000000002235bad0, %xmm1 12 - 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235bad2 - 0f 12 0d 78 56 34 12 movlps 0x000000002235bad9, %xmm1 - 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235bae1 + 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235bad7 + 0f 12 0d 78 56 34 12 movlps 0x000000002235bade, %xmm1 + 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235bae6 12 - f3 0f 7e 0d 78 56 34 movq 0x000000002235bae9, %xmm1 + f3 0f 7e 0d 78 56 34 movq 0x000000002235baee, %xmm1 12 - f3 0f 16 0d 78 56 34 movshdup 0x000000002235baf1, %xmm1 + f3 0f 16 0d 78 56 34 movshdup 0x000000002235baf6, %xmm1 12 - f3 0f 12 0d 78 56 34 movsldup 0x000000002235baf9, %xmm1 + f3 0f 12 0d 78 56 34 movsldup 0x000000002235bafe, %xmm1 12 - f3 0f 70 0d 78 56 34 pshufhw 0x000000002235bb02, $0x90, %xmm1 + f3 0f 70 0d 78 56 34 pshufhw 0x000000002235bb07, $0x90, %xmm1 12 90 - f2 0f 70 0d 78 56 34 pshuflw 0x000000002235bb0b, $0x90, %xmm1 + f2 0f 70 0d 78 56 34 pshuflw 0x000000002235bb10, $0x90, %xmm1 12 90 - 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235bb12, %mm1 - 0f 62 0d 78 56 34 12 punpckldq 0x000000002235bb19, %mm1 - 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235bb20, %mm1 - 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235bb28, %xmm1 + 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235bb17, %mm1 + 0f 62 0d 78 56 34 12 punpckldq 0x000000002235bb1e, %mm1 + 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235bb25, %mm1 + 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235bb2d, %xmm1 12 - 66 0f 62 0d 78 56 34 punpckldq 0x000000002235bb30, %xmm1 + 66 0f 62 0d 78 56 34 punpckldq 0x000000002235bb35, %xmm1 12 - 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235bb38, %xmm1 + 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235bb3d, %xmm1 12 - 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235bb40, %xmm1 + 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235bb45, %xmm1 12 - 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235bb48 + 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235bb4d 12 - 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235bb4f + 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235bb54 f2 0f c2 00 00 cmpsd (%rax), $0x00, %xmm0 f3 0f c2 00 00 cmpss (%rax), $0x00, %xmm0 66 0f 2a 00 cvtpi2pd (%rax), %xmm0 @@ -39160,9 +39161,9 @@ test_x86_64_s: 8f e9 78 01 20 tzmsk (%rax), %eax 24 01 and $0x01, %al 00 00 add %al, (%rax) - 7b 62 jnp $0x0000000010018f76 - 63 15 20 44 72 7f movsxd 0x000000008f73d33a, %edx - 7b 34 jnp $0x0000000010018f50 + 7b 62 jnp $0x0000000010018f7b + 63 15 20 44 72 7f movsxd 0x000000008f73d33f, %edx + 7b 34 jnp $0x0000000010018f55 12 00 adc (%rax), %al 00 7b f3 add %bh, -0x0d(%rbx) 0f ae f0 mfence @@ -41149,7 +41150,7 @@ test_x86_64_s: 41 03 00 add (%r8), %eax 45 03 00 add (%r8), %r8d 49 03 00 add (%r8), %rax - 03 05 22 22 22 22 add 0x000000003223dc86, %eax + 03 05 22 22 22 22 add 0x000000003223dc8b, %eax 03 45 00 add 0x00(%rbp), %eax 03 04 25 22 22 22 22 add 0x22222222, %eax 41 03 45 00 add 0x00(%r13), %eax @@ -41181,12 +41182,12 @@ test_x86_64_s: 83 04 81 11 addl $0x11, (%rcx,%rax,4) 41 83 04 81 11 addl $0x11, (%r9,%rax,4) 42 83 04 81 11 addl $0x11, (%rcx,%r8,4) - 83 05 22 22 22 22 33 addl $0x33, 0x000000003223dd01 - 48 83 05 22 22 22 22 addq $0x33, 0x000000003223dd09 + 83 05 22 22 22 22 33 addl $0x33, 0x000000003223dd06 + 48 83 05 22 22 22 22 addq $0x33, 0x000000003223dd0e 33 - 81 05 22 22 22 22 33 addl $0x33333333, 0x000000003223dd13 + 81 05 22 22 22 22 33 addl $0x33333333, 0x000000003223dd18 33 33 33 - 48 81 05 22 22 22 22 addq $0x33333333, 0x000000003223dd1e + 48 81 05 22 22 22 22 addq $0x33333333, 0x000000003223dd23 33 33 33 33 83 04 c5 22 22 22 22 addl $0x33, 0x22222222(,%rax,8) 33 @@ -41220,7 +41221,7 @@ test_x86_64_s: 00 00 8b 04 25 00 00 00 00 mov 0x00, %eax 8b 80 00 00 00 00 mov 0x00000000(%rax), %eax - 8b 05 00 00 00 00 mov 0x000000001001bb94, %eax + 8b 05 00 00 00 00 mov 0x000000001001bb99, %eax b0 00 mov $0x00, %al 66 b8 00 00 data16 mov $0x0000, %ax b8 00 00 00 00 mov $0x00000000, %eax @@ -41229,7 +41230,7 @@ test_x86_64_s: 00 00 8b 04 25 00 00 00 00 mov 0x00, %eax 8b 80 00 00 00 00 mov 0x00000000(%rax), %eax - 8b 05 00 00 00 00 mov 0x000000001001bbc2, %eax + 8b 05 00 00 00 00 mov 0x000000001001bbc7, %eax a0 11 22 33 44 55 66 mov 0x8877665544332211, %al 77 88 66 a1 11 22 33 44 55 data16 mov 0x8877665544332211, %ax @@ -41402,10 +41403,10 @@ test_x86_64_s: 48 05 00 00 00 00 add $0x00000000, %rax 66 b8 00 00 data16 mov $0x0000, %ax b0 00 mov $0x00, %al - 8b 05 00 00 00 00 mov 0x000000001001be74, %eax - 67 8b 05 00 00 00 00 addr32 mov 0x000000001001be7b, %eax - e8 00 00 00 00 call $0x000000001001be80 - e3 00 jrcxz $0x000000001001be82 + 8b 05 00 00 00 00 mov 0x000000001001be79, %eax + 67 8b 05 00 00 00 00 addr32 mov 0x000000001001be80, %eax + e8 00 00 00 00 call $0x000000001001be85 + e3 00 jrcxz $0x000000001001be87 48 b8 00 00 00 00 00 mov $0x0000000000000000, %rax 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax @@ -41414,22 +41415,22 @@ test_x86_64_s: 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001beb3 + e8 00 00 00 00 call $0x000000001001beb8 48 05 00 00 00 00 add $0x00000000, %rax - 48 8d 05 00 00 00 00 lea 0x000000001001bec0, %rax + 48 8d 05 00 00 00 00 lea 0x000000001001bec5, %rax 48 05 00 00 00 00 add $0x00000000, %rax 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bed7 + e8 00 00 00 00 call $0x000000001001bedc 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bee8 + e8 00 00 00 00 call $0x000000001001beed 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bef9 + e8 00 00 00 00 call $0x000000001001befe 48 05 00 00 00 00 add $0x00000000, %rax 8b 83 00 00 00 00 mov 0x00000000(%rbx), %eax - e8 00 00 00 00 call $0x000000001001bf0a + e8 00 00 00 00 call $0x000000001001bf0f 48 b8 00 00 00 00 00 mov $0x0000000000000000, %rax 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax @@ -57450,6 +57451,354 @@ test_x86_64_s: 62 62 7e 28 38 f5 vpmovm2d %ymm30 {%k5} 62 62 fe 08 38 f5 vpmovm2q %xmm30 {%k5} 62 62 fe 28 38 f5 vpmovm2q %ymm30 {%k5} + 62 02 7d 18 c8 f5 vexp2ps %zmm29, %zmm30 {%k0} + 62 02 fd 18 c8 f5 vexp2pd %zmm29, %zmm30 {%k0} + 62 02 7d 18 ca f5 vrcp28ps %zmm29, %zmm30 {%k0} + 62 02 fd 18 ca f5 vrcp28pd %zmm29, %zmm30 {%k0} + 62 02 15 10 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k0} + 62 02 95 10 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k0} + 62 02 7d 18 cc f5 vrsqrt28ps %zmm29, %zmm30 {%k0} + 62 02 fd 18 cc f5 vrsqrt28pd %zmm29, %zmm30 {%k0} + 62 02 15 10 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k0} + 62 02 95 10 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k0} + 62 02 7d 18 c8 f5 vexp2ps %zmm29, %zmm30 {%k0} + 62 02 fd 18 c8 f5 vexp2pd %zmm29, %zmm30 {%k0} + 62 02 7d 18 ca f5 vrcp28ps %zmm29, %zmm30 {%k0} + 62 02 fd 18 ca f5 vrcp28pd %zmm29, %zmm30 {%k0} + 62 02 15 10 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k0} + 62 02 95 10 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k0} + 62 02 7d 18 cc f5 vrsqrt28ps %zmm29, %zmm30 {%k0} + 62 02 fd 18 cc f5 vrsqrt28pd %zmm29, %zmm30 {%k0} + 62 02 15 10 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k0} + 62 02 95 10 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k0} + 62 02 7d 48 c8 f5 vexp2ps %zmm29, %zmm30 {%k0} + 62 02 7d 18 c8 f5 vexp2ps %zmm29, %zmm30 {%k0} + 62 62 7d 48 c8 31 vexp2ps (%rcx), %zmm30 {%k0} + 62 22 7d 48 c8 b4 f0 vexp2ps 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 7d 58 c8 31 vexp2ps (%rcx), %zmm30 {%k0} + 62 62 7d 48 c8 72 7f vexp2ps 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 7d 48 c8 b2 00 vexp2ps 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 7d 48 c8 72 80 vexp2ps -0x00002000(%rdx), %zmm30 {%k0} + 62 62 7d 48 c8 b2 c0 vexp2ps -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 7d 58 c8 72 7f vexp2ps 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 58 c8 b2 00 vexp2ps 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 58 c8 72 80 vexp2ps -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 58 c8 b2 fc vexp2ps -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 fd 48 c8 f5 vexp2pd %zmm29, %zmm30 {%k0} + 62 02 fd 18 c8 f5 vexp2pd %zmm29, %zmm30 {%k0} + 62 62 fd 48 c8 31 vexp2pd (%rcx), %zmm30 {%k0} + 62 22 fd 48 c8 b4 f0 vexp2pd 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 fd 58 c8 31 vexp2pd (%rcx), %zmm30 {%k0} + 62 62 fd 48 c8 72 7f vexp2pd 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 fd 48 c8 b2 00 vexp2pd 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 fd 48 c8 72 80 vexp2pd -0x00002000(%rdx), %zmm30 {%k0} + 62 62 fd 48 c8 b2 c0 vexp2pd -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 fd 58 c8 72 7f vexp2pd 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 58 c8 b2 00 vexp2pd 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 58 c8 72 80 vexp2pd -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 58 c8 b2 f8 vexp2pd -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 7d 48 ca f5 vrcp28ps %zmm29, %zmm30 {%k0} + 62 02 7d 4f ca f5 vrcp28ps %zmm29, %zmm30 {%k7} + 62 02 7d cf ca f5 vrcp28ps %zmm29, %zmm30 {%k7} + 62 02 7d 18 ca f5 vrcp28ps %zmm29, %zmm30 {%k0} + 62 62 7d 48 ca 31 vrcp28ps (%rcx), %zmm30 {%k0} + 62 22 7d 48 ca b4 f0 vrcp28ps 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 7d 58 ca 31 vrcp28ps (%rcx), %zmm30 {%k0} + 62 62 7d 48 ca 72 7f vrcp28ps 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 7d 48 ca b2 00 vrcp28ps 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 7d 48 ca 72 80 vrcp28ps -0x00002000(%rdx), %zmm30 {%k0} + 62 62 7d 48 ca b2 c0 vrcp28ps -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 7d 58 ca 72 7f vrcp28ps 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 58 ca b2 00 vrcp28ps 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 58 ca 72 80 vrcp28ps -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 58 ca b2 fc vrcp28ps -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 fd 48 ca f5 vrcp28pd %zmm29, %zmm30 {%k0} + 62 02 fd 4f ca f5 vrcp28pd %zmm29, %zmm30 {%k7} + 62 02 fd cf ca f5 vrcp28pd %zmm29, %zmm30 {%k7} + 62 02 fd 18 ca f5 vrcp28pd %zmm29, %zmm30 {%k0} + 62 62 fd 48 ca 31 vrcp28pd (%rcx), %zmm30 {%k0} + 62 22 fd 48 ca b4 f0 vrcp28pd 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 fd 58 ca 31 vrcp28pd (%rcx), %zmm30 {%k0} + 62 62 fd 48 ca 72 7f vrcp28pd 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 fd 48 ca b2 00 vrcp28pd 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 fd 48 ca 72 80 vrcp28pd -0x00002000(%rdx), %zmm30 {%k0} + 62 62 fd 48 ca b2 c0 vrcp28pd -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 fd 58 ca 72 7f vrcp28pd 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 58 ca b2 00 vrcp28pd 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 58 ca 72 80 vrcp28pd -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 58 ca b2 f8 vrcp28pd -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 15 07 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 17 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 07 cb 31 vrcp28ss %xmm29, (%rcx), %xmm30 {%k7} + 62 22 15 07 cb b4 f0 vrcp28ss %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k7} + 23 01 00 00 + 62 62 15 07 cb 72 7f vrcp28ss %xmm29, 0x000001fc(%rdx), %xmm30 {%k7} + 62 62 15 07 cb b2 00 vrcp28ss %xmm29, 0x00000200(%rdx), %xmm30 {%k7} + 02 00 00 + 62 62 15 07 cb 72 80 vrcp28ss %xmm29, -0x00000200(%rdx), %xmm30 {%k7} + 62 62 15 07 cb b2 fc vrcp28ss %xmm29, -0x00000204(%rdx), %xmm30 {%k7} + fd ff ff + 62 02 95 07 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 87 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 17 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 62 95 07 cb 31 vrcp28sd %xmm29, (%rcx), %xmm30 {%k7} + 62 22 95 07 cb b4 f0 vrcp28sd %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k7} + 23 01 00 00 + 62 62 95 07 cb 72 7f vrcp28sd %xmm29, 0x000003f8(%rdx), %xmm30 {%k7} + 62 62 95 07 cb b2 00 vrcp28sd %xmm29, 0x00000400(%rdx), %xmm30 {%k7} + 04 00 00 + 62 62 95 07 cb 72 80 vrcp28sd %xmm29, -0x00000400(%rdx), %xmm30 {%k7} + 62 62 95 07 cb b2 f8 vrcp28sd %xmm29, -0x00000408(%rdx), %xmm30 {%k7} + fb ff ff + 62 02 7d 48 cc f5 vrsqrt28ps %zmm29, %zmm30 {%k0} + 62 02 7d 4f cc f5 vrsqrt28ps %zmm29, %zmm30 {%k7} + 62 02 7d cf cc f5 vrsqrt28ps %zmm29, %zmm30 {%k7} + 62 02 7d 18 cc f5 vrsqrt28ps %zmm29, %zmm30 {%k0} + 62 62 7d 48 cc 31 vrsqrt28ps (%rcx), %zmm30 {%k0} + 62 22 7d 48 cc b4 f0 vrsqrt28ps 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 7d 58 cc 31 vrsqrt28ps (%rcx), %zmm30 {%k0} + 62 62 7d 48 cc 72 7f vrsqrt28ps 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 7d 48 cc b2 00 vrsqrt28ps 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 7d 48 cc 72 80 vrsqrt28ps -0x00002000(%rdx), %zmm30 {%k0} + 62 62 7d 48 cc b2 c0 vrsqrt28ps -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 7d 58 cc 72 7f vrsqrt28ps 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 58 cc b2 00 vrsqrt28ps 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 58 cc 72 80 vrsqrt28ps -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 58 cc b2 fc vrsqrt28ps -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 fd 48 cc f5 vrsqrt28pd %zmm29, %zmm30 {%k0} + 62 02 fd 4f cc f5 vrsqrt28pd %zmm29, %zmm30 {%k7} + 62 02 fd cf cc f5 vrsqrt28pd %zmm29, %zmm30 {%k7} + 62 02 fd 18 cc f5 vrsqrt28pd %zmm29, %zmm30 {%k0} + 62 62 fd 48 cc 31 vrsqrt28pd (%rcx), %zmm30 {%k0} + 62 22 fd 48 cc b4 f0 vrsqrt28pd 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 fd 58 cc 31 vrsqrt28pd (%rcx), %zmm30 {%k0} + 62 62 fd 48 cc 72 7f vrsqrt28pd 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 fd 48 cc b2 00 vrsqrt28pd 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 fd 48 cc 72 80 vrsqrt28pd -0x00002000(%rdx), %zmm30 {%k0} + 62 62 fd 48 cc b2 c0 vrsqrt28pd -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 fd 58 cc 72 7f vrsqrt28pd 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 58 cc b2 00 vrsqrt28pd 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 58 cc 72 80 vrsqrt28pd -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 58 cc b2 f8 vrsqrt28pd -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 15 07 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 17 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 07 cd 31 vrsqrt28ss %xmm29, (%rcx), %xmm30 {%k7} + 62 22 15 07 cd b4 f0 vrsqrt28ss %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k7} + 23 01 00 00 + 62 62 15 07 cd 72 7f vrsqrt28ss %xmm29, 0x000001fc(%rdx), %xmm30 {%k7} + 62 62 15 07 cd b2 00 vrsqrt28ss %xmm29, 0x00000200(%rdx), %xmm30 {%k7} + 02 00 00 + 62 62 15 07 cd 72 80 vrsqrt28ss %xmm29, -0x00000200(%rdx), %xmm30 {%k7} + 62 62 15 07 cd b2 fc vrsqrt28ss %xmm29, -0x00000204(%rdx), %xmm30 {%k7} + fd ff ff + 62 02 95 07 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 87 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 17 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 62 95 07 cd 31 vrsqrt28sd %xmm29, (%rcx), %xmm30 {%k7} + 62 22 95 07 cd b4 f0 vrsqrt28sd %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k7} + 23 01 00 00 + 62 62 95 07 cd 72 7f vrsqrt28sd %xmm29, 0x000003f8(%rdx), %xmm30 {%k7} + 62 62 95 07 cd b2 00 vrsqrt28sd %xmm29, 0x00000400(%rdx), %xmm30 {%k7} + 04 00 00 + 62 62 95 07 cd 72 80 vrsqrt28sd %xmm29, -0x00000400(%rdx), %xmm30 {%k7} + 62 62 95 07 cd b2 f8 vrsqrt28sd %xmm29, -0x00000408(%rdx), %xmm30 {%k7} + fb ff ff + 62 02 7d 48 c8 f5 vexp2ps %zmm29, %zmm30 {%k0} + 62 02 7d 18 c8 f5 vexp2ps %zmm29, %zmm30 {%k0} + 62 62 7d 48 c8 31 vexp2ps (%rcx), %zmm30 {%k0} + 62 22 7d 48 c8 b4 f0 vexp2ps 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 7d 58 c8 31 vexp2ps (%rcx), %zmm30 {%k0} + 62 62 7d 48 c8 72 7f vexp2ps 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 7d 48 c8 b2 00 vexp2ps 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 7d 48 c8 72 80 vexp2ps -0x00002000(%rdx), %zmm30 {%k0} + 62 62 7d 48 c8 b2 c0 vexp2ps -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 7d 58 c8 72 7f vexp2ps 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 58 c8 b2 00 vexp2ps 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 58 c8 72 80 vexp2ps -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 58 c8 b2 fc vexp2ps -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 fd 48 c8 f5 vexp2pd %zmm29, %zmm30 {%k0} + 62 02 fd 18 c8 f5 vexp2pd %zmm29, %zmm30 {%k0} + 62 62 fd 48 c8 31 vexp2pd (%rcx), %zmm30 {%k0} + 62 22 fd 48 c8 b4 f0 vexp2pd 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 fd 58 c8 31 vexp2pd (%rcx), %zmm30 {%k0} + 62 62 fd 48 c8 72 7f vexp2pd 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 fd 48 c8 b2 00 vexp2pd 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 fd 48 c8 72 80 vexp2pd -0x00002000(%rdx), %zmm30 {%k0} + 62 62 fd 48 c8 b2 c0 vexp2pd -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 fd 58 c8 72 7f vexp2pd 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 58 c8 b2 00 vexp2pd 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 58 c8 72 80 vexp2pd -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 58 c8 b2 f8 vexp2pd -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 7d 48 ca f5 vrcp28ps %zmm29, %zmm30 {%k0} + 62 02 7d 4f ca f5 vrcp28ps %zmm29, %zmm30 {%k7} + 62 02 7d cf ca f5 vrcp28ps %zmm29, %zmm30 {%k7} + 62 02 7d 18 ca f5 vrcp28ps %zmm29, %zmm30 {%k0} + 62 62 7d 48 ca 31 vrcp28ps (%rcx), %zmm30 {%k0} + 62 22 7d 48 ca b4 f0 vrcp28ps 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 7d 58 ca 31 vrcp28ps (%rcx), %zmm30 {%k0} + 62 62 7d 48 ca 72 7f vrcp28ps 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 7d 48 ca b2 00 vrcp28ps 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 7d 48 ca 72 80 vrcp28ps -0x00002000(%rdx), %zmm30 {%k0} + 62 62 7d 48 ca b2 c0 vrcp28ps -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 7d 58 ca 72 7f vrcp28ps 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 58 ca b2 00 vrcp28ps 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 58 ca 72 80 vrcp28ps -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 58 ca b2 fc vrcp28ps -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 fd 48 ca f5 vrcp28pd %zmm29, %zmm30 {%k0} + 62 02 fd 4f ca f5 vrcp28pd %zmm29, %zmm30 {%k7} + 62 02 fd cf ca f5 vrcp28pd %zmm29, %zmm30 {%k7} + 62 02 fd 18 ca f5 vrcp28pd %zmm29, %zmm30 {%k0} + 62 62 fd 48 ca 31 vrcp28pd (%rcx), %zmm30 {%k0} + 62 22 fd 48 ca b4 f0 vrcp28pd 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 fd 58 ca 31 vrcp28pd (%rcx), %zmm30 {%k0} + 62 62 fd 48 ca 72 7f vrcp28pd 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 fd 48 ca b2 00 vrcp28pd 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 fd 48 ca 72 80 vrcp28pd -0x00002000(%rdx), %zmm30 {%k0} + 62 62 fd 48 ca b2 c0 vrcp28pd -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 fd 58 ca 72 7f vrcp28pd 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 58 ca b2 00 vrcp28pd 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 58 ca 72 80 vrcp28pd -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 58 ca b2 f8 vrcp28pd -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 15 07 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 17 cb f4 vrcp28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 07 cb 31 vrcp28ss %xmm29, (%rcx), %xmm30 {%k7} + 62 22 15 07 cb b4 f0 vrcp28ss %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k7} + 34 12 00 00 + 62 62 15 07 cb 72 7f vrcp28ss %xmm29, 0x000001fc(%rdx), %xmm30 {%k7} + 62 62 15 07 cb b2 00 vrcp28ss %xmm29, 0x00000200(%rdx), %xmm30 {%k7} + 02 00 00 + 62 62 15 07 cb 72 80 vrcp28ss %xmm29, -0x00000200(%rdx), %xmm30 {%k7} + 62 62 15 07 cb b2 fc vrcp28ss %xmm29, -0x00000204(%rdx), %xmm30 {%k7} + fd ff ff + 62 02 95 07 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 87 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 17 cb f4 vrcp28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 62 95 07 cb 31 vrcp28sd %xmm29, (%rcx), %xmm30 {%k7} + 62 22 95 07 cb b4 f0 vrcp28sd %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k7} + 34 12 00 00 + 62 62 95 07 cb 72 7f vrcp28sd %xmm29, 0x000003f8(%rdx), %xmm30 {%k7} + 62 62 95 07 cb b2 00 vrcp28sd %xmm29, 0x00000400(%rdx), %xmm30 {%k7} + 04 00 00 + 62 62 95 07 cb 72 80 vrcp28sd %xmm29, -0x00000400(%rdx), %xmm30 {%k7} + 62 62 95 07 cb b2 f8 vrcp28sd %xmm29, -0x00000408(%rdx), %xmm30 {%k7} + fb ff ff + 62 02 7d 48 cc f5 vrsqrt28ps %zmm29, %zmm30 {%k0} + 62 02 7d 4f cc f5 vrsqrt28ps %zmm29, %zmm30 {%k7} + 62 02 7d cf cc f5 vrsqrt28ps %zmm29, %zmm30 {%k7} + 62 02 7d 18 cc f5 vrsqrt28ps %zmm29, %zmm30 {%k0} + 62 62 7d 48 cc 31 vrsqrt28ps (%rcx), %zmm30 {%k0} + 62 22 7d 48 cc b4 f0 vrsqrt28ps 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 7d 58 cc 31 vrsqrt28ps (%rcx), %zmm30 {%k0} + 62 62 7d 48 cc 72 7f vrsqrt28ps 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 7d 48 cc b2 00 vrsqrt28ps 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 7d 48 cc 72 80 vrsqrt28ps -0x00002000(%rdx), %zmm30 {%k0} + 62 62 7d 48 cc b2 c0 vrsqrt28ps -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 7d 58 cc 72 7f vrsqrt28ps 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 58 cc b2 00 vrsqrt28ps 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 58 cc 72 80 vrsqrt28ps -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 58 cc b2 fc vrsqrt28ps -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 fd 48 cc f5 vrsqrt28pd %zmm29, %zmm30 {%k0} + 62 02 fd 4f cc f5 vrsqrt28pd %zmm29, %zmm30 {%k7} + 62 02 fd cf cc f5 vrsqrt28pd %zmm29, %zmm30 {%k7} + 62 02 fd 18 cc f5 vrsqrt28pd %zmm29, %zmm30 {%k0} + 62 62 fd 48 cc 31 vrsqrt28pd (%rcx), %zmm30 {%k0} + 62 22 fd 48 cc b4 f0 vrsqrt28pd 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 fd 58 cc 31 vrsqrt28pd (%rcx), %zmm30 {%k0} + 62 62 fd 48 cc 72 7f vrsqrt28pd 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 fd 48 cc b2 00 vrsqrt28pd 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 fd 48 cc 72 80 vrsqrt28pd -0x00002000(%rdx), %zmm30 {%k0} + 62 62 fd 48 cc b2 c0 vrsqrt28pd -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 fd 58 cc 72 7f vrsqrt28pd 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 58 cc b2 00 vrsqrt28pd 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 58 cc 72 80 vrsqrt28pd -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 58 cc b2 f8 vrsqrt28pd -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 15 07 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 17 cd f4 vrsqrt28ss %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 07 cd 31 vrsqrt28ss %xmm29, (%rcx), %xmm30 {%k7} + 62 22 15 07 cd b4 f0 vrsqrt28ss %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k7} + 34 12 00 00 + 62 62 15 07 cd 72 7f vrsqrt28ss %xmm29, 0x000001fc(%rdx), %xmm30 {%k7} + 62 62 15 07 cd b2 00 vrsqrt28ss %xmm29, 0x00000200(%rdx), %xmm30 {%k7} + 02 00 00 + 62 62 15 07 cd 72 80 vrsqrt28ss %xmm29, -0x00000200(%rdx), %xmm30 {%k7} + 62 62 15 07 cd b2 fc vrsqrt28ss %xmm29, -0x00000204(%rdx), %xmm30 {%k7} + fd ff ff + 62 02 95 07 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 87 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 17 cd f4 vrsqrt28sd %xmm29, %xmm28, %xmm30 {%k7} + 62 62 95 07 cd 31 vrsqrt28sd %xmm29, (%rcx), %xmm30 {%k7} + 62 22 95 07 cd b4 f0 vrsqrt28sd %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k7} + 34 12 00 00 + 62 62 95 07 cd 72 7f vrsqrt28sd %xmm29, 0x000003f8(%rdx), %xmm30 {%k7} + 62 62 95 07 cd b2 00 vrsqrt28sd %xmm29, 0x00000400(%rdx), %xmm30 {%k7} + 04 00 00 + 62 62 95 07 cd 72 80 vrsqrt28sd %xmm29, -0x00000400(%rdx), %xmm30 {%k7} + 62 62 95 07 cd b2 f8 vrsqrt28sd %xmm29, -0x00000408(%rdx), %xmm30 {%k7} + fb ff ff 62 01 fd 48 29 ee vmovapd %zmm29, %zmm30 {%k0} 62 01 fd 48 28 f5 vmovapd %zmm29, %zmm30 {%k0} 62 01 fd 4f 29 ee vmovapd %zmm29, %zmm30 {%k7} @@ -57496,6 +57845,8 @@ test_x86_64_s: 62 61 fd 08 7e f0 vmovq %xmm30, %rax 62 41 fd 08 7e f0 vmovq %xmm30, %r8 62 41 fd 08 7e f0 vmovq %xmm30, %r8 + 62 01 fd 08 d6 ee vmovq %xmm29, %xmm30 + 62 01 fe 08 7e f5 vmovq %xmm29, %xmm30 62 01 97 07 11 e6 vmovsd %xmm29, %xmm28, %xmm30 {%k7} 62 01 97 07 10 f4 vmovsd %xmm29, %xmm28, %xmm30 {%k7} 62 01 97 87 11 e6 vmovsd %xmm29, %xmm28, %xmm30 {%k7} @@ -57562,6 +57913,8 @@ test_x86_64_s: 62 61 fd 08 7e f0 vmovq %xmm30, %rax 62 41 fd 08 7e f0 vmovq %xmm30, %r8 62 41 fd 08 7e f0 vmovq %xmm30, %r8 + 62 01 fd 08 d6 ee vmovq %xmm29, %xmm30 + 62 01 fe 08 7e f5 vmovq %xmm29, %xmm30 62 01 97 07 11 e6 vmovsd %xmm29, %xmm28, %xmm30 {%k7} 62 01 97 07 10 f4 vmovsd %xmm29, %xmm28, %xmm30 {%k7} 62 01 97 87 11 e6 vmovsd %xmm29, %xmm28, %xmm30 {%k7} @@ -64104,6 +64457,7 @@ test_x86_64_s: 62 61 fd 08 7e 72 80 vmovq %xmm30, -0x00000400(%rdx) 62 61 fd 08 7e b2 f8 vmovq %xmm30, -0x00000408(%rdx) fb ff ff + 62 01 fe 08 7e f5 vmovq %xmm29, %xmm30 62 61 fd 08 6e 31 vmovq (%rcx), %xmm30 62 21 fd 08 6e b4 f0 vmovq 0x00000123(%rax,%r14,8), %xmm30 23 01 00 00 @@ -74317,6 +74671,7 @@ test_x86_64_s: 62 61 fd 08 7e 72 80 vmovq %xmm30, -0x00000400(%rdx) 62 61 fd 08 7e b2 f8 vmovq %xmm30, -0x00000408(%rdx) fb ff ff + 62 01 fe 08 7e f5 vmovq %xmm29, %xmm30 62 61 fd 08 6e 31 vmovq (%rcx), %xmm30 62 21 fd 08 6e b4 f0 vmovq 0x00001234(%rax,%r14,8), %xmm30 34 12 00 00 @@ -97462,6 +97817,7 @@ test_x86_64_s: 62 f1 fd 08 7e e1 vmovq %xmm4, %rcx 62 f1 fd 08 6e 21 vmovq (%rcx), %xmm4 62 f1 fd 08 6e e1 vmovq %rcx, %xmm4 + 62 f1 fe 08 7e f4 vmovq %xmm4, %xmm6 62 f3 7d 08 17 c0 00 vextractps $0x00, %xmm0, %eax 62 f3 7d 08 17 00 00 vextractpsl $0x00, %xmm0, (%rax) 62 f3 7d 08 14 c0 00 vpextrb %xmm0, $0x00, %eax @@ -103012,6 +103368,9 @@ test_x86_64_s: c5 fa 7e f8 vmovq %xmm0, %xmm7 c5 fa 7e f8 vmovq %xmm0, %xmm7 c5 f9 d6 c7 vmovq %xmm0, %xmm7 + 62 f1 fe 08 7e f8 vmovq %xmm0, %xmm7 + 62 f1 fe 08 7e f8 vmovq %xmm0, %xmm7 + 62 f1 fd 08 d6 c7 vmovq %xmm0, %xmm7 66 0f c5 f8 00 pextrw %xmm0, $0x00, %edi 66 0f c5 f8 00 pextrw %xmm0, $0x00, %edi 66 0f 3a 15 c7 00 pextrw %xmm0, $0x00, %edi @@ -103134,7 +103493,7 @@ test_x86_64_s: 7b 00 00 00 62 e2 7d 21 91 84 c5 vpgatherqd 0x0000007b(%rbp,%ymm16,8), %ymm16 {%k1} {%k1} 7b 00 00 00 - 62 f1 7c 48 28 05 00 vmovaps 0x0000000010070cb5, %zmm0 {%k0} + 62 f1 7c 48 28 05 00 vmovaps 0x00000000100714ca, %zmm0 {%k0} fc ff ff 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax), %zmm0 {%k0} 40 00 00 00 @@ -103146,6 +103505,17 @@ test_x86_64_s: 25 40 00 00 00 62 f1 7c 48 28 04 25 vmovaps 0x40, %zmm0 {%k0} 40 00 00 00 + f3 0f ae e1 ptwrite %ecx + f3 0f ae e1 ptwrite %ecx + f3 48 0f ae e1 ptwrite %rcx + f3 48 0f ae e1 ptwrite %rcx + f3 0f ae 21 ptwrite (%rcx) + f3 0f ae 21 ptwrite (%rcx) + f3 48 0f ae 21 ptwrite (%rcx) + f3 0f ae e1 ptwrite %ecx + f3 48 0f ae e1 ptwrite %rcx + f3 0f ae 21 ptwrite (%rcx) + f3 48 0f ae 21 ptwrite (%rcx) 62 a2 6d 40 52 d1 vpdpwssd %zmm18, %zmm17, %zmm18 {%k0} 62 a2 6d 45 52 d1 vpdpwssd %zmm18, %zmm17, %zmm18 {%k5} 62 a2 6d c5 52 d1 vpdpwssd %zmm18, %zmm17, %zmm18 {%k5} @@ -103372,9 +103742,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x000000001007161f, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010071e65, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010071629, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010071e6f, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -103386,9 +103756,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010071665, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010071eab, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x000000001007166f, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010071eb5, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -103398,13 +103768,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x00000000100716a4, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010071eea, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x00000000100716ae, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010071ef4, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x00000000100716b7, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010071efd, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x00000000100716c1, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071f07, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 @@ -103418,13 +103788,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x000000001007170a, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010071f50, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010071714, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010071f5a, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x000000001007171d, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010071f63, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071727, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071f6d, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 diff --git a/third_party/binutils/test_decenc/test_decenc_x86.asm b/third_party/binutils/test_decenc/test_decenc_x86.asm index 23b97fe6585..7c7a07a96e9 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86.asm @@ -95162,7 +95162,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(fe) RAW(28) RAW(38) RAW(f5) END_OF_SUBTEST_MARKER -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* avx512er_rcig.s */ RAW(62) RAW(f2) RAW(7d) RAW(18) RAW(c8) RAW(f5) RAW(62) RAW(f2) RAW(fd) RAW(18) RAW(c8) RAW(f5) @@ -95517,6 +95516,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(fb) RAW(ff) RAW(ff) END_OF_SUBTEST_MARKER +#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* These are not valid instructions */ /* avx512f_nondef.s */ RAW(62) RAW(f3) RAW(d5) RAW(1f) RAW(0b) RAW(f4) RAW(7b) @@ -134408,12 +134408,9 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f1) RAW(7d) RAW(08) RAW(7e) RAW(e1) RAW(62) RAW(f1) RAW(7d) RAW(08) RAW(6e) RAW(21) RAW(62) RAW(f1) RAW(7d) RAW(08) RAW(6e) RAW(e1) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(f1) RAW(fd) RAW(08) RAW(d6) RAW(21) RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(21) RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(f4) -#endif RAW(62) RAW(f3) RAW(7d) RAW(08) RAW(17) RAW(c0) RAW(00) RAW(62) RAW(f3) RAW(7d) RAW(08) RAW(17) RAW(00) RAW(00) RAW(62) RAW(f3) RAW(7d) RAW(08) RAW(14) RAW(c0) RAW(00) @@ -139468,12 +139465,9 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(fa) RAW(7e) RAW(f8) RAW(c5) RAW(fa) RAW(7e) RAW(f8) RAW(c5) RAW(f9) RAW(d6) RAW(c7) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(f8) RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(f8) RAW(62) RAW(f1) RAW(fd) RAW(08) RAW(d6) RAW(c7) -#endif RAW(66) RAW(0f) RAW(c5) RAW(f8) RAW(00) RAW(66) RAW(0f) RAW(c5) RAW(f8) RAW(00) RAW(66) RAW(0f) RAW(3a) RAW(15) RAW(c7) RAW(00) @@ -139641,6 +139635,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(f3) RAW(0f) RAW(a6) RAW(d0) RAW(f3) RAW(0f) RAW(a6) RAW(d0) END_OF_SUBTEST_MARKER +#endif /* DISABLED_UNTIL_BUG_3578_IS_FIXED */ /* ptwrite.s */ RAW(f3) RAW(0f) RAW(ae) RAW(e1) @@ -139652,7 +139647,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(f3) RAW(0f) RAW(ae) RAW(21) END_OF_SUBTEST_MARKER -#endif /* DISABLED_UNTIL_BUG_3578_IS_FIXED */ #ifdef DISABLED_UNTIL_BUG_3581_IS_FIXED /* The following tests are disabled (xref i#3581). */ diff --git a/third_party/binutils/test_decenc/test_decenc_x86_64.asm b/third_party/binutils/test_decenc/test_decenc_x86_64.asm index 2aec2d541d0..526b56269ae 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86_64.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86_64.asm @@ -225,9 +225,8 @@ GLOBAL_LABEL(FUNCNAME:) RAW(0f) RAW(c7) RAW(f8) /* FIXME i3577: clzero, AMD only. */ /* RAW(0f) RAW(01) RAW(fc) */ - /* FIXME i#3581: Support SHA opcodes. */ - /* RAW(44) */ - /* RAW(0f) RAW(38) RAW(c8) RAW(00) */ + RAW(44) + RAW(0f) RAW(38) RAW(c8) RAW(00) RAW(48) RAW(0f) RAW(c7) RAW(21) RAW(48) @@ -58139,7 +58138,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(62) RAW(fe) RAW(08) RAW(38) RAW(f5) RAW(62) RAW(62) RAW(fe) RAW(28) RAW(38) RAW(f5) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* x86_64_avx512er_rcig.s */ RAW(62) RAW(02) RAW(7d) RAW(18) RAW(c8) RAW(f5) RAW(62) RAW(02) RAW(fd) RAW(18) RAW(c8) RAW(f5) @@ -58492,6 +58490,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(62) RAW(95) RAW(07) RAW(cd) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) +#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED /* These are not valid instructions */ /* x86_64_avx512f_nondef.s */ RAW(62) RAW(f3) RAW(d5) RAW(1f) RAW(0b) RAW(f4) RAW(7b) @@ -58551,11 +58550,8 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(61) RAW(fd) RAW(08) RAW(7e) RAW(f0) RAW(62) RAW(41) RAW(fd) RAW(08) RAW(7e) RAW(f0) RAW(62) RAW(41) RAW(fd) RAW(08) RAW(7e) RAW(f0) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(01) RAW(fd) RAW(08) RAW(d6) RAW(ee) RAW(62) RAW(01) RAW(fe) RAW(08) RAW(7e) RAW(f5) -#endif RAW(62) RAW(01) RAW(97) RAW(07) RAW(11) RAW(e6) RAW(62) RAW(01) RAW(97) RAW(07) RAW(10) RAW(f4) RAW(62) RAW(01) RAW(97) RAW(87) RAW(11) RAW(e6) @@ -58622,11 +58618,8 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(61) RAW(fd) RAW(08) RAW(7e) RAW(f0) RAW(62) RAW(41) RAW(fd) RAW(08) RAW(7e) RAW(f0) RAW(62) RAW(41) RAW(fd) RAW(08) RAW(7e) RAW(f0) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(01) RAW(fd) RAW(08) RAW(d6) RAW(ee) RAW(62) RAW(01) RAW(fe) RAW(08) RAW(7e) RAW(f5) -#endif RAW(62) RAW(01) RAW(97) RAW(07) RAW(11) RAW(e6) RAW(62) RAW(01) RAW(97) RAW(07) RAW(10) RAW(f4) RAW(62) RAW(01) RAW(97) RAW(87) RAW(11) RAW(e6) @@ -65173,10 +65166,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(61) RAW(fd) RAW(08) RAW(7e) RAW(72) RAW(80) RAW(62) RAW(61) RAW(fd) RAW(08) RAW(7e) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(01) RAW(fe) RAW(08) RAW(7e) RAW(f5) -#endif RAW(62) RAW(61) RAW(fd) RAW(08) RAW(6e) RAW(31) RAW(62) RAW(21) RAW(fd) RAW(08) RAW(6e) RAW(b4) RAW(f0) RAW(23) RAW(01) RAW(00) RAW(00) @@ -75390,10 +75380,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(61) RAW(fd) RAW(08) RAW(7e) RAW(72) RAW(80) RAW(62) RAW(61) RAW(fd) RAW(08) RAW(7e) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(01) RAW(fe) RAW(08) RAW(7e) RAW(f5) -#endif RAW(62) RAW(61) RAW(fd) RAW(08) RAW(6e) RAW(31) RAW(62) RAW(21) RAW(fd) RAW(08) RAW(6e) RAW(b4) RAW(f0) RAW(34) RAW(12) RAW(00) RAW(00) @@ -100341,10 +100328,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f1) RAW(fd) RAW(08) RAW(7e) RAW(e1) RAW(62) RAW(f1) RAW(fd) RAW(08) RAW(6e) RAW(21) RAW(62) RAW(f1) RAW(fd) RAW(08) RAW(6e) RAW(e1) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(f4) -#endif RAW(62) RAW(f3) RAW(7d) RAW(08) RAW(17) RAW(c0) RAW(00) RAW(62) RAW(f3) RAW(7d) RAW(08) RAW(17) RAW(00) RAW(00) RAW(62) RAW(f3) RAW(7d) RAW(08) RAW(14) RAW(c0) RAW(00) @@ -105907,12 +105891,9 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c5) RAW(fa) RAW(7e) RAW(f8) RAW(c5) RAW(fa) RAW(7e) RAW(f8) RAW(c5) RAW(f9) RAW(d6) RAW(c7) -#ifdef DISABLED_UNTIL_BUG_4564_IS_FIXED -/* The following tests are disabled (xref i#4564). */ RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(f8) RAW(62) RAW(f1) RAW(fe) RAW(08) RAW(7e) RAW(f8) RAW(62) RAW(f1) RAW(fd) RAW(08) RAW(d6) RAW(c7) -#endif RAW(66) RAW(0f) RAW(c5) RAW(f8) RAW(00) RAW(66) RAW(0f) RAW(c5) RAW(f8) RAW(00) RAW(66) RAW(0f) RAW(3a) RAW(15) RAW(c7) RAW(00) @@ -106064,8 +106045,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(00) RAW(00) #endif /* DISABLED_UNTIL_BUG_3577_IS_FIXED */ -#ifdef DISABLED_UNTIL_BUG_3578_IS_FIXED - /* The following tests are disabled (xref i#3578). */ /* x86_64_ptwrite.s */ RAW(f3) RAW(0f) RAW(ae) RAW(e1) @@ -106080,7 +106059,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(f3) RAW(0f) RAW(ae) RAW(21) RAW(f3) RAW(48) RAW(0f) RAW(ae) RAW(21) -#endif /* DISABLED_UNTIL_BUG_3578_IS_FIXED */ #ifdef DISABLED_UNTIL_BUG_3581_IS_FIXED /* The following tests are disabled (xref i#3581). */ From 0f97bc5e7b5503431b7edc6c19466e600543bddf Mon Sep 17 00:00:00 2001 From: Felix Conway Date: Thu, 12 Dec 2024 09:42:50 +0000 Subject: [PATCH 04/13] i#2154 android64: Allow building for aarch64 Android with newer Clang NDKs (#7101) Adds support for building aarch64 Android, specifically supporting the newer Android NDKs which only support Clang. Instructions for building can be found in make/toolchain-android-aarch64.cmake, including how to build Zlib for Android for use in the DynamoRIO build. This patch only adds support for building DynamoRIO for aarch64 Android and does not make any changes that would allow it to run, e.g. changes to the loader. The resulting binaries when run on Android can output the normal text when just drrun or drrun -help are run but will segfault when running with a program. Ths PR is partly based on pull request #3547 and therefore co-authored-by: Yibai Zhang Issue: #2154 --- CMakeLists.txt | 31 ++- core/CMakeLists.txt | 1 - core/drlibc/drlibc_module_elf.c | 2 +- core/lib/instrument.c | 4 +- core/unix/include/siginfo.h | 4 +- core/unix/injector.c | 7 +- core/unix/loader.c | 5 + core/unix/module_elf.c | 3 +- core/unix/os.c | 12 +- core/unix/os_exports.h | 29 +-- core/unix/signal_private.h | 4 +- ext/drsyms/CMakeLists.txt | 21 +- ext/drsyms/elfutils/android-aarch64/config.h | 211 ++++++++++++++++++ .../android-aarch64/eu-config.h.patch | 16 ++ ext/drsyms/libelftc-android64/HOWTOBUILD | 33 +++ .../libelftc-android64/lib64/libelftc.a | Bin 0 -> 497196 bytes .../libelftc-android64.patch | 16 ++ .../libelftc-android64/native-elf-format.h | 3 + make/DynamoRIOConfig.cmake.in | 12 +- make/configure.cmake.h | 2 + make/cpp2asm_support.cmake | 10 +- make/toolchain-android-aarch64.cmake | 97 ++++++++ make/utils.cmake | 7 +- make/utils_exposed.cmake | 20 ++ 24 files changed, 512 insertions(+), 38 deletions(-) create mode 100644 ext/drsyms/elfutils/android-aarch64/config.h create mode 100644 ext/drsyms/elfutils/android-aarch64/eu-config.h.patch create mode 100644 ext/drsyms/libelftc-android64/HOWTOBUILD create mode 100644 ext/drsyms/libelftc-android64/lib64/libelftc.a create mode 100644 ext/drsyms/libelftc-android64/libelftc-android64.patch create mode 100644 ext/drsyms/libelftc-android64/native-elf-format.h create mode 100644 make/toolchain-android-aarch64.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a3e2143078f..bc2c9999dc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -224,10 +224,16 @@ if (TARGET_ARCH MATCHES "^arm64" OR TARGET_ARCH MATCHES "^aarch64") set(AARCH64 1) set(X64 1) message(STATUS "Building for AArch64") + if (ANDROID) + set(ANDROID64 1) + endif () elseif (TARGET_ARCH MATCHES "^arm") set(ARM 1) # This means AArch32. set(X64 OFF) message(STATUS "Building for ARM") + if (ANDROID) + set(ANDROID32 1) + endif () elseif (TARGET_ARCH MATCHES "^riscv64") set(RISCV64 1) set(X64 1) @@ -692,6 +698,7 @@ if (UNIX) endif (NOT CMAKE_COMPILER_IS_GNUCC) check_if_linker_is_gnu_gold(LINKER_IS_GNU_GOLD) + check_if_linker_is_llvm_lld(LINKER_IS_LLVM_LLD) # FIXME i#2949: static 32-bit release-build linking with gcc 7.3.1 fails when # static C++ clients like drmemtrace or drmemtrace_raw2trace are linked in. @@ -821,6 +828,7 @@ if (UNIX) # (see i#1034 where this caused problems in the past). set(BASE_CFLAGS "${BASE_CFLAGS} -funsigned-char") # Ubuntu defaults to -fstack-protector these days, which depends on app TLS. + CHECK_C_COMPILER_FLAG("-no-pie" no_pie_avail) CHECK_C_COMPILER_FLAG("-fno-stack-protector" no_stack_protector_avail) if (no_stack_protector_avail) set(BASE_CFLAGS "${BASE_CFLAGS} -fno-stack-protector") @@ -875,14 +883,14 @@ if (UNIX) endif () # there's no cmake warning control so we hardcode it set(WARN "-Wall -Werror -Wwrite-strings -Wvla") + CHECK_C_COMPILER_FLAG("-Wno-unused-but-set-variable" nounused_avail) + if (nounused_avail) + set(WARN "${WARN} -Wno-unused-but-set-variable") + endif (nounused_avail) if (NOT CMAKE_COMPILER_IS_CLANG) # Old gcc's ignore unknown -W flags, but -Wall -Werror causes clang to # complain that it doesn't recognize it. # Actually this is not true: gcc 4.1.2 aborts on unknown -W so we check - CHECK_C_COMPILER_FLAG("-Wno-unused-but-set-variable" nounused_avail) - if (nounused_avail) - set(WARN "${WARN} -Wno-unused-but-set-variable") - endif (nounused_avail) # XXX i#3792: DynamoRIO manages '\0' termination and error states itself in # too many places. In order to activate this warning, this code needs to get # re-factored for no good reason. @@ -908,6 +916,21 @@ if (UNIX) set(WARN "${WARN} -Wno-dangling-pointer") endif () else (NOT CMAKE_COMPILER_IS_CLANG) + # Clang emits this warning when a function is used without a defined + # prototype, however clang can't find function prototpes in #define macros. + # If function prototypes are moved out of #define macros then this warning + # can be re-enabled. + CHECK_C_COMPILER_FLAG("-Wno-deprecated-non-prototype" nodeprecated_prototype_avail) + if (nodeprecated_prototype_avail) + set(WARN "${WARN} -Wno-deprecated-non-prototype") + endif (nodeprecated_prototype_avail) + # Clang emits this warning due to the assembly shared between arm and + # aarch64 in os.c not specifying register widths. If the shared code is + # split into arm and aarch64 versions, then this warning can be re-enabled. + CHECK_C_COMPILER_FLAG("-Wno-asm-operand-widths" noasm_operand_widths) + if (noasm_operand_widths) + set(WARN "${WARN} -Wno-asm-operand-widths") + endif (noasm_operand_widths) # clang turns off color when it's writing to a pipe, but the user may still # wish to force color if it eventually goes to a terminal. option(CLANG_COLOR_DIAGNOSTICS "force colored clang diagnostics" OFF) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index de04cc9e328..60c54787ac8 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -852,7 +852,6 @@ function (configure_static_core_lib name hide_symbols) set(disable_pie_flag) # Older versions of GCC do not understand "-no-pie". See i#2083. - CHECK_C_COMPILER_FLAG("-no-pie" no_pie_avail) if (no_pie_avail) # If the compiler's default is "-pie", we must specify "-no-pie" when using "-r" # to avoid the error "-r and -pie may not be used together". See i#2083. diff --git a/core/drlibc/drlibc_module_elf.c b/core/drlibc/drlibc_module_elf.c index 779cabf6c4f..ab5d8043a83 100644 --- a/core/drlibc/drlibc_module_elf.c +++ b/core/drlibc/drlibc_module_elf.c @@ -239,7 +239,7 @@ module_get_platform(file_t f, dr_platform_t *platform, dr_platform_t *alt_platfo /* Get the module text section from the mapped image file, * Note that it must be the image file, not the loaded module. */ -ELF_ADDR +ptr_uint_t module_get_text_section(app_pc file_map, size_t file_size) { ELF_HEADER_TYPE *elf_hdr = (ELF_HEADER_TYPE *)file_map; diff --git a/core/lib/instrument.c b/core/lib/instrument.c index 426c1a76869..2b7e4be9bbc 100644 --- a/core/lib/instrument.c +++ b/core/lib/instrument.c @@ -2498,7 +2498,9 @@ dr_create_memory_dump(dr_memory_dump_spec_t *spec) #ifdef WINDOWS if (TEST(DR_MEMORY_DUMP_LDMP, spec->flags)) return os_dump_core_live(spec->label, spec->ldmp_path, spec->ldmp_path_size); -#elif defined(LINUX) && ((defined(X64) && defined(X86)) || defined(AARCH64)) +/* XXX i#2154: Add Android AArch64 support. */ +#elif defined(LINUX) && \ + ((defined(X64) && defined(X86)) || (defined(AARCH64) && !defined(ANDROID64))) if (TEST(DR_MEMORY_DUMP_ELF, spec->flags)) { return os_dump_core_live(get_thread_private_dcontext()); } diff --git a/core/unix/include/siginfo.h b/core/unix/include/siginfo.h index ea9c280f7e6..28abb62ebed 100644 --- a/core/unix/include/siginfo.h +++ b/core/unix/include/siginfo.h @@ -29,8 +29,10 @@ typedef siginfo_t kernel_siginfo_t; * first #undef-ed. */ # ifdef ANDROID -# define __WORDSIZE 32 typedef clock_t __clock_t; +# ifndef __WORDSIZE +# define __WORDSIZE 32 +# endif # else # include # endif diff --git a/core/unix/injector.c b/core/unix/injector.c index ce67e1467ba..f0a27b068cf 100644 --- a/core/unix/injector.c +++ b/core/unix/injector.c @@ -56,7 +56,7 @@ #include "dr_inject.h" #include -#ifndef MACOS +#if !(defined(MACOS) || defined(ANDROID64)) /* If we don't define _EXTERNALIZE_CTYPE_INLINES_*, we get errors vs tolower * in globals.h; if we do, we get errors on isspace missing. We solve that * by just by supplying our own isspace. @@ -93,13 +93,15 @@ typedef enum { PLATFORM_UNKNOWN, } platform_status_t; -#ifdef MACOS +#if defined(MACOS) || defined(ANDROID64) /* The type is just "int", and the values are different, so we use the Linux * type name to match the Linux constant names. */ # ifndef PT_ATTACHEXC /* New replacement for PT_ATTACH */ # define PT_ATTACHEXC PT_ATTACH # endif + +# ifdef MACOS enum __ptrace_request { PTRACE_TRACEME = PT_TRACE_ME, PTRACE_CONT = PT_CONTINUE, @@ -108,6 +110,7 @@ enum __ptrace_request { PTRACE_DETACH = PT_DETACH, PTRACE_SINGLESTEP = PT_STEP, }; +# endif /* clang-format off */ /* (work around clang-format bug) */ static int inline diff --git a/core/unix/loader.c b/core/unix/loader.c index 66fae21d8c6..308de21a605 100644 --- a/core/unix/loader.c +++ b/core/unix/loader.c @@ -82,6 +82,11 @@ static const char *const system_lib_paths[] = { "/usr/local/lib", /* Ubuntu: /etc/ld.so.conf.d/libc.conf */ #ifdef ANDROID "/system/lib", +# ifdef ANDROID64 + "/system/lib64", +# elif defined(ANDROID32) + "/system/lib32", +# endif #endif #ifndef X64 "/usr/lib32", diff --git a/core/unix/module_elf.c b/core/unix/module_elf.c index d896ae1badb..c012461af80 100644 --- a/core/unix/module_elf.c +++ b/core/unix/module_elf.c @@ -1503,7 +1503,8 @@ module_relocate_symbol(ELF_REL_TYPE *rel, os_privmod_data_t *pd, bool is_rela) sym = &((ELF_SYM_TYPE *)pd->os_data.dynsym)[r_sym]; name = (char *)pd->os_data.dynstr + sym->st_name; - if (INTERNAL_OPTION(private_loader) && privload_redirect_sym(pd, r_addr, name)) + if (INTERNAL_OPTION(private_loader) && + privload_redirect_sym(pd, (ptr_uint_t *)r_addr, name)) return; resolved = true; diff --git a/core/unix/os.c b/core/unix/os.c index 4c3fadcbe79..9d9becdb14f 100644 --- a/core/unix/os.c +++ b/core/unix/os.c @@ -6409,10 +6409,14 @@ cleanup_after_vfork_execve(dcontext_t *dcontext) } static void -set_stdfile_fileno(stdfile_t **stdfile, file_t file_no) +set_stdfile_fileno(stdfile_t **stdfile, file_t old_fd, file_t file_no) { #ifdef STDFILE_FILENO +# ifdef ANDROID64 + fcntl_syscall(old_fd, F_DUPFD, file_no); +# else (*stdfile)->STDFILE_FILENO = file_no; +# endif #else # warning stdfile_t is opaque; DynamoRIO will not set fds of libc FILEs. /* i#1973: musl libc support (and potentially other non-glibcs) */ @@ -6461,7 +6465,7 @@ handle_close_generic_pre(dcontext_t *dcontext, file_t fd, bool set_return_val) fd, our_stdout); if (privmod_stdout != NULL && INTERNAL_OPTION(private_loader)) { /* update the privately loaded libc's stdout _fileno. */ - set_stdfile_fileno(privmod_stdout, our_stdout); + set_stdfile_fileno(privmod_stdout, fd, our_stdout); } } if (DYNAMO_OPTION(dup_stderr_on_close) && fd == STDERR) { @@ -6477,7 +6481,7 @@ handle_close_generic_pre(dcontext_t *dcontext, file_t fd, bool set_return_val) fd, our_stderr); if (privmod_stderr != NULL && INTERNAL_OPTION(private_loader)) { /* update the privately loaded libc's stderr _fileno. */ - set_stdfile_fileno(privmod_stderr, our_stderr); + set_stdfile_fileno(privmod_stderr, fd, our_stderr); } } if (DYNAMO_OPTION(dup_stdin_on_close) && fd == STDIN) { @@ -6493,7 +6497,7 @@ handle_close_generic_pre(dcontext_t *dcontext, file_t fd, bool set_return_val) fd, our_stdin); if (privmod_stdin != NULL && INTERNAL_OPTION(private_loader)) { /* update the privately loaded libc's stdout _fileno. */ - set_stdfile_fileno(privmod_stdin, our_stdin); + set_stdfile_fileno(privmod_stdin, fd, our_stdin); } } return true; diff --git a/core/unix/os_exports.h b/core/unix/os_exports.h index 70e7145000d..8ff15159143 100644 --- a/core/unix/os_exports.h +++ b/core/unix/os_exports.h @@ -165,12 +165,8 @@ * pthread_internal_t. However, its offset varies by Android version, requiring * indirection through a variable. */ -# ifdef AARCH64 -# error NYI -# else extern uint android_tls_base_offs; -# define DR_TLS_BASE_OFFSET android_tls_base_offs -# endif +# define DR_TLS_BASE_OFFSET android_tls_base_offs # else /* The TLS slot for DR's TLS base. * On ARM, we use the 'private' field of the tcbhead_t to store DR TLS base, @@ -246,7 +242,8 @@ ushort os_get_app_tls_reg_offset(reg_id_t seg); void * os_get_app_tls_base(dcontext_t *dcontext, reg_id_t seg); -#if defined(AARCH64) || (defined(X64) && defined(X86)) +/* XXX i#2154: Add Android AArch64 support. */ +#if (defined(AARCH64) && !defined(ANDROID64)) || (defined(X64) && defined(X86)) /* os_dump_core_live has the same restriction as dr_suspend_all_other_threads_ex(). * For X86_64 platform, fast FP save and restore (fxsave64) support is required. And mixed * mode (a process mixing 64-bit and 32-bit code) is not supported. @@ -455,16 +452,20 @@ is_DR_segment_reader_entry(app_pc pc); #define SIGARRAY_SIZE (MAX_SIGNUM + 1) /* size of long */ -#ifdef X64 -# define _NSIG_BPW 64 -#else -# define _NSIG_BPW 32 +#ifndef _NSIG_BPW +# ifdef X64 +# define _NSIG_BPW 64 +# else +# define _NSIG_BPW 32 +# endif #endif -#ifdef LINUX -# define _NSIG_WORDS (MAX_SIGNUM / _NSIG_BPW) -#else -# define _NSIG_WORDS 1 /* avoid 0 */ +#ifndef _NSIG_WORDS +# ifdef LINUX +# define _NSIG_WORDS (MAX_SIGNUM / _NSIG_BPW) +# else +# define _NSIG_WORDS 1 /* avoid 0 */ +# endif #endif /* kernel's sigset_t packs info into bits, while glibc's uses a short for diff --git a/core/unix/signal_private.h b/core/unix/signal_private.h index 549e1c800c9..aecc6183891 100644 --- a/core/unix/signal_private.h +++ b/core/unix/signal_private.h @@ -137,7 +137,9 @@ struct _prev_sigaction_t { #endif #ifdef LINUX +# ifndef ANDROID64 typedef unsigned int old_sigset_t; +# endif struct _old_sigaction_t { handler_t handler; @@ -618,7 +620,7 @@ static inline bool libc_sigismember(const sigset_t *set, int _sig) { int sig = _sig - 1; /* go to 0-based */ -#if defined(MACOS) || defined(ANDROID) +#if defined(MACOS) || defined(ANDROID32) /* sigset_t is just a uint32 */ return TEST(1UL << sig, *set); #else diff --git a/ext/drsyms/CMakeLists.txt b/ext/drsyms/CMakeLists.txt index 8b9627911a8..8a40bdb8aae 100644 --- a/ext/drsyms/CMakeLists.txt +++ b/ext/drsyms/CMakeLists.txt @@ -59,7 +59,11 @@ if (DR_HOST_ARM) endif() if (DR_HOST_AARCH64) - set(ARCH "-aarch64") + if (ANDROID) + set(ARCH "-android64") + else () + set(ARCH "-aarch64") + endif () endif () if (DR_HOST_RISCV64) @@ -135,7 +139,7 @@ elseif (UNIX) "${PROJECT_SOURCE_DIR}/ext/drsyms/libelftc-macho${ARCH}/lib${BITS}/libdwarf.a") set(elftc_libpath "${PROJECT_SOURCE_DIR}/ext/drsyms/libelftc-macho${ARCH}/lib${BITS}/libelftc.a") - elseif (ANDROID) + elseif (ANDROID32) # TODO i#5926: Use elfutils for Android. First we need to get zlib installed # in our test environment. set(srcs ${srcs} drsyms_dwarf.c drsyms_elf.c) @@ -167,6 +171,11 @@ elseif (UNIX) message(FATAL_ERROR "Unable to find patch") endif () file(GLOB patches "${CMAKE_CURRENT_SOURCE_DIR}/elfutils/*.patch") + if (ANDROID64) + file(GLOB android64_patches + "${CMAKE_CURRENT_SOURCE_DIR}/elfutils/android-aarch64/*.patch") + list(APPEND patches ${android64_patches}) + endif(ANDROID64) foreach (patch ${patches}) get_filename_component(patch_base ${patch} NAME) string(REGEX REPLACE ".patch$" "" patch_base ${patch_base}) @@ -199,6 +208,12 @@ elseif (UNIX) endif () endforeach () add_library(${lib}_pic STATIC ${${lib}_files}) + # We need a different config.h and eu-config.h for aarch64 Android to + # disable GCC functions that are not implemented in clang. + if (ANDROID64) + set(extra_dirs + "${CMAKE_CURRENT_SOURCE_DIR}/elfutils/android-aarch64;${CMAKE_CURRENT_BINARY_DIR}") + endif (ANDROID64) # We want to directly use DR's allocator instead of relying on its private loader # redirecting in order to support static usage with no loader. # ld is not actually used, so we can't use its -wrap=malloc feature. @@ -206,7 +221,7 @@ elseif (UNIX) set_target_properties(${lib}_pic PROPERTIES # We have a presumably-widely-applicable config.h in drsyms/elfutils. INCLUDE_DIRECTORIES - "${CMAKE_CURRENT_SOURCE_DIR}/elfutils;${elfutils_dir}/lib;${elfutils_dir}/libasm;${elfutils_dir}/libebl;${elfutils_dir}/libdwelf;${elfutils_dir}/libdwfl" + "${extra_dirs};${CMAKE_CURRENT_SOURCE_DIR}/elfutils;${elfutils_dir}/lib;${elfutils_dir}/libasm;${elfutils_dir}/libebl;${elfutils_dir}/libdwelf;${elfutils_dir}/libdwfl;" COMPILE_DEFINITIONS "_GNU_SOURCE;HAVE_CONFIG_H;_FORTIFY_SOURCE=3;PIC;SHARED;SYMBOL_VERSIONING;malloc=__wrap_malloc;calloc=__wrap_calloc;realloc=__wrap_realloc;free=__wrap_free;strdup=__wrap_strdup" COMPILE_FLAGS "-std=gnu99 -Wall -g -O2 -fPIC") diff --git a/ext/drsyms/elfutils/android-aarch64/config.h b/ext/drsyms/elfutils/android-aarch64/config.h new file mode 100644 index 00000000000..c4f0c72763a --- /dev/null +++ b/ext/drsyms/elfutils/android-aarch64/config.h @@ -0,0 +1,211 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Building with -fsanitize=undefined or not */ +#define CHECK_UNDEFINED 0 + +/* Should ar and ranlib use -D behavior by default? */ +#define DEFAULT_AR_DETERMINISTIC false + +/* Build dummy libdebuginfod */ +/* #undef DUMMY_LIBDEBUGINFOD */ + +/* Build debuginfod */ +/* #undef ENABLE_DEBUGINFOD */ + +/* Enable libdebuginfod */ +/* #undef ENABLE_LIBDEBUGINFOD */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* define if the compiler supports basic C++11 syntax */ +#define HAVE_CXX11 1 + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#define HAVE_DCGETTEXT 1 + +/* Define to 1 if you have the declaration of `mempcpy', and to 0 if you + don't. */ +#define HAVE_DECL_MEMPCPY 1 + +/* Define to 1 if you have the declaration of `memrchr', and to 0 if you + don't. */ +#define HAVE_DECL_MEMRCHR 1 + +/* Define to 1 if you have the declaration of `powerof2', and to 0 if you + don't. */ +#define HAVE_DECL_POWEROF2 1 + +/* Define to 1 if you have the declaration of `rawmemchr', and to 0 if you + don't. */ +#define HAVE_DECL_RAWMEMCHR 0 + +/* Define to 1 if you have the declaration of `reallocarray', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOCARRAY 1 + +/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you + don't. */ +#define HAVE_DECL_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERROR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Defined if __attribute__((fallthrough)) is supported */ +#define HAVE_FALLTHROUGH 1 + +/* Defined if __attribute__((gcc_struct)) is supported */ +#if defined(__x86_64__) || defined(__i386__) +# define HAVE_GCC_STRUCT 1 +#endif + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#define HAVE_GETTEXT 1 + +/* Define if you have the iconv() function and it works. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `mremap' function. */ +#define HAVE_MREMAP 1 + +/* Define to 1 if you have the `process_vm_readv' function. */ +#define HAVE_PROCESS_VM_READV 1 + +/* Enable pthread_setname_np */ +#define HAVE_PTHREAD_SETNAME_NP 1 + +/* Define to 1 if you have the `sched_getaffinity' function. */ +#define HAVE_SCHED_GETAFFINITY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if `stdatomic.h` is provided by the system, 0 otherwise. */ +#define HAVE_STDATOMIC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have `strerror_r'. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if defines struct user_regs_struct */ +#define HAVE_SYS_USER_REGS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if __attribute__((visibility())) is supported */ +#define HAVE_VISIBILITY 1 + +/* Name of package */ +#define PACKAGE "elfutils" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://sourceware.org/bugzilla" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "elfutils" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "elfutils 0.190" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "elfutils" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://elfutils.org/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.190" + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Define to 1 if strerror_r returns char *. */ +#define STRERROR_R_CHAR_P 1 + +/* Support bzip2 decompression via -lbz2. */ +/* #undef USE_BZLIB */ + +/* Defined if demangling is enabled */ +/* #undef USE_DEMANGLE */ + +/* Defined if libraries should be thread-safe. */ +/* #undef USE_LOCKS */ + +/* Support LZMA (xz) decompression via -llzma. */ +/* #undef USE_LZMA */ + +/* Support gzip decompression via -lz. */ +#define USE_ZLIB 1 + +/* Support ZSTD (zst) decompression via -lzstd. */ +/* #undef USE_ZSTD */ + +/* zstd compression support */ +/* #undef USE_ZSTD_COMPRESS */ + +/* Version number of package */ +#define VERSION "0.190" + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +#include diff --git a/ext/drsyms/elfutils/android-aarch64/eu-config.h.patch b/ext/drsyms/elfutils/android-aarch64/eu-config.h.patch new file mode 100644 index 00000000000..5f442b6e7b6 --- /dev/null +++ b/ext/drsyms/elfutils/android-aarch64/eu-config.h.patch @@ -0,0 +1,16 @@ +diff --git a/lib/eu-config.h b/lib/eu-config.h +index feb079db..aebabf80 100644 +--- a/lib/eu-config.h ++++ b/lib/eu-config.h +@@ -59,10 +59,9 @@ + # define once(once_control, init_routine) init_routine() + #endif /* USE_LOCKS */ + +-#include + /* gettext helper macros. */ + #define N_(Str) Str +-#define _(Str) dgettext ("elfutils", Str) ++#define _(Str) Str + + /* Compiler-specific definitions. */ + #define strong_alias(name, aliasname) \ diff --git a/ext/drsyms/libelftc-android64/HOWTOBUILD b/ext/drsyms/libelftc-android64/HOWTOBUILD new file mode 100644 index 00000000000..8ed356c7e81 --- /dev/null +++ b/ext/drsyms/libelftc-android64/HOWTOBUILD @@ -0,0 +1,33 @@ +How To Build libelftc.a for aarch64 Android +by Felix Conway, based on instructions from Qin Zhao + +I built on Ubuntu 22.04 + +I have Android NDK cross compiler aarch64-unknown-linux-android35 Android clang verions 18.0.3 +$ ./aarch64-linux-android35-clang --version +Android (12470979, +pgo, +bolt, +lto, +mlgo, based on r522817c) clang version 18.0.3 (https://android.googlesource.com/toolchain/llvm-project d8003a456d14a3deb8054cdaa529ffbf02d9b262) +Target: aarch64-unknown-linux-android35 + +Install required packages: +$ sudo apt-get install bison build-essential flex libarchive-dev m4 bmake zlib1g-dev + +Check out the sources. +We have to stick with r3530 until +https://sourceforge.net/p/elftoolchain/tickets/581/ is fixed. +$ svn co -r 3530 svn://svn.code.sf.net/p/elftoolchain/code/trunk "${elftc_dir}" + +Apply the libelftc-android64.patch. + +Now build 64-bit: +$ export CC=/PATH/TO/ANDROID/NDK/TOOLCHAIN/bin/aarch64-linux-android-clang +$ export LD=/PATH/TO/ANDROID/NDK/TOOLCHAIN/bin/ld.lld +$ export AR=/PATH/TO/ANDROID/NDK/TOOLCHAIN/bin/llvm-ar +$ export RANLIB=/PATH/TO/ANDROID/NDK/TOOLCHAIN/bin/llvm-ranlib +$ REDIR="-Dmalloc=__wrap_malloc -Dcalloc=__wrap_calloc -Drealloc=__wrap_realloc -Dfree=__wrap_free -Dstrdup=__wrap_strdup" +$ cd common +$ cp /PATH/TO/DYNAMORIO/ext/drsyms/libelftc-android/native-elf-format.h native-elf-format.h +$ cd ../libelftc +$ CFLAGS="-O2 -g -fPIC ${REDIR}" pmake libelftc.a + +Then copy the resulting libelftc.a into the DR source tree +in ext/drsyms/libelftc-android64/lib64/. diff --git a/ext/drsyms/libelftc-android64/lib64/libelftc.a b/ext/drsyms/libelftc-android64/lib64/libelftc.a new file mode 100644 index 0000000000000000000000000000000000000000..ec89b8ad93f787848a40c0f941eefa6acc418079 GIT binary patch literal 497196 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∋{FEQ^(Hfk#SK{Z-;=(xG2#R0he)667NKC85bpd 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 + #else diff --git a/ext/drsyms/libelftc-android64/native-elf-format.h b/ext/drsyms/libelftc-android64/native-elf-format.h new file mode 100644 index 00000000000..79caf8b171d --- /dev/null +++ b/ext/drsyms/libelftc-android64/native-elf-format.h @@ -0,0 +1,3 @@ +#define ELFTC_CLASS ELFCLASS64 +#define ELFTC_ARCH EM_AARCH64 +#define ELFTC_BYTEORDER ELFDATA2LSB diff --git a/make/DynamoRIOConfig.cmake.in b/make/DynamoRIOConfig.cmake.in index 785b8f61530..d7597d86e93 100755 --- a/make/DynamoRIOConfig.cmake.in +++ b/make/DynamoRIOConfig.cmake.in @@ -345,6 +345,7 @@ else ("${CMAKE_GENERATOR}" MATCHES "Visual Studio") endif ("${CMAKE_GENERATOR}" MATCHES "Visual Studio") _DR_check_if_linker_is_gnu_gold(LINKER_IS_GNU_GOLD) +_DR_check_if_linker_is_llvm_lld(LINKER_IS_LLVM_LLD) # helper function function (_DR_get_lang target lang_var) @@ -988,7 +989,7 @@ function (configure_DynamoRIO_client target) if (APPLE) set(LD_FLAGS "-arch x86_64 -image_base ${PREFERRED_BASE}") elseif (UNIX) - if (LINKER_IS_GNU_GOLD) + if (LINKER_IS_GNU_GOLD OR LINKER_IS_LLVM_LLD) # Gold doesn't have a default version script for us to edit. However, # it has a handy command line flag that does exactly what we want. Note # that gnu ld has -Ttext as well, but it is very different. @@ -996,7 +997,7 @@ function (configure_DynamoRIO_client target) # 2009. We could switch to that if we ever drop support for old # linkers. set(PREFERRED_BASE_FLAGS "-Wl,-Ttext=${PREFERRED_BASE}") - else (LINKER_IS_GNU_GOLD) + else (LINKER_IS_GNU_GOLD OR LINKER_IS_LLVM_LLD) # We use a linker script to set the preferred base set(LD_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/${target}.ldscript) # We do NOT add ${LD_SCRIPT} as an ADDITIONAL_MAKE_CLEAN_FILES since it's @@ -1056,7 +1057,12 @@ function (configure_DynamoRIO_standalone target) # flags removed. Usually the target LINK_FLAGS is empty at this point anyway. set(extra_flags "-DDYNAMORIO_STANDALONE") if (ANDROID) - set(extra_flags ${extra_flags} "-fPIE -pie") + set(extra_flags "${extra_flags} -fPIE") + # Clang complains that -pie is an unused option here, so only add it for + # 32-bit Android which uses GCC. + if (ANDROID32) + set(extra_flags "${extra_flags} -pie") + endif(ANDROID32) endif (ANDROID) _DR_set_compile_flags(${target} OFF "${extra_flags}") diff --git a/make/configure.cmake.h b/make/configure.cmake.h index a4867180a84..5af65a6c5f4 100644 --- a/make/configure.cmake.h +++ b/make/configure.cmake.h @@ -56,6 +56,8 @@ #cmakedefine VMKERNEL #cmakedefine MACOS #cmakedefine ANDROID +#cmakedefine ANDROID64 +#cmakedefine ANDROID32 #if defined(MACOS) || defined (LINUX) || defined(VMKERNEL) || defined(ANDROID) # define UNIX #endif diff --git a/make/cpp2asm_support.cmake b/make/cpp2asm_support.cmake index 36637aa8ab6..e9b1e77d8a7 100644 --- a/make/cpp2asm_support.cmake +++ b/make/cpp2asm_support.cmake @@ -234,7 +234,9 @@ elseif (UNIX) set(ASM_FLAGS "${ASM_FLAGS} ${ASMFLAGS_SVE}") endif () endif () - set(ASM_FLAGS "${ASM_FLAGS} --noexecstack") + if (NOT ANDROID64) + set(ASM_FLAGS "${ASM_FLAGS} --noexecstack") + endif () if (DEBUG) set(ASM_FLAGS "${ASM_FLAGS} -g") endif (DEBUG) @@ -343,6 +345,12 @@ if (APPLE AND NOT AARCH64) " -Dfile=.s -P \"${cpp2asm_newline_script_path}\"" " ${ASM_FLAGS} -o .s" ) +elseif (ANDROID64) + set(CMAKE_ASM_COMPILE_OBJECT + "${CMAKE_CPP} ${CMAKE_CPP_FLAGS} ${rule_flags} ${rule_defs} -E -o .s" + " -Dfile=.s -P \"${cpp2asm_newline_script_path}\"" + " ${ASM_FLAGS} -xassembler -c -o .s" + ) elseif (UNIX OR (APPLE AND AARCH64)) set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_CPP} ${CMAKE_CPP_FLAGS} ${rule_flags} ${rule_defs} -E -o .s" diff --git a/make/toolchain-android-aarch64.cmake b/make/toolchain-android-aarch64.cmake new file mode 100644 index 00000000000..4506a3e5a3d --- /dev/null +++ b/make/toolchain-android-aarch64.cmake @@ -0,0 +1,97 @@ +# ********************************************************** +# Copyright (c) 2014-2024 Google, Inc. All rights reserved. +# ********************************************************** + +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of Google, Inc. nor the names of its contributors may be +# used to endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE, INC. OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +# DAMAGE. + +# For cross compiling for 64-bit arm Android using the Android LLVM toolchain: +# - Download toolchain, and install the standalone toolchain: +# https://developer.android.com/ndk/downloads/revision_history +# $ /PATH/TO/ANDROID_NDK/toolchains/llvm/prebuilt//bin +# - Build ZLIB with the Android toolchain (included in third_party/zlib): +# $ AR=/TOOLCHAIN/INSTALL/PATH/llvm-ar \ +# CC=/TOOLCHAIN/INSTALL/PATH/aarch64-linux-android-clang \ +# CFLAGS="-fPIC -O" ./configure --static && make install prefix=$HOME/zlib +# - Cross-compiling config with ANDROID_TOOLCHAIN: +# $ cmake -DCMAKE_TOOLCHAIN_FILE=../dynamorio/make/toolchain-android-aarch64.cmake \ +# -DANDROID_TOOLCHAIN=/TOOLCHAIN/INSTALL/PATH -DTOOLCHAIN_VERSION= \ +# -DZLIB_LIBRARY=$HOME/zlib/lib/libz.a -DZLIB_INCLUDE_DIR=$HOME/zlib/include \ +# ../dynamorio + +# Target system. +set(CMAKE_SYSTEM_NAME Android) +set(CMAKE_SYSTEM_VERSION 1) + +# If using a different target, set -DTARGET_ABI= on the command line. +if (NOT DEFINED TARGET_ABI) + set(TARGET_ABI "aarch64-linux-android") +endif () +if (TARGET_ABI MATCHES "^aarch64") + set(CMAKE_SYSTEM_PROCESSOR aarch64) +endif () + +# Specify the cross compiler. +if (NOT DEFINED ANDROID_TOOLCHAIN) + set(toolchain_bin_path "") +else () + set(toolchain_bin_path "${ANDROID_TOOLCHAIN}/") +endif () + +if (NOT DEFINED TOOLCHAIN_VERSION) + set(toolchain_version "30") +else () + set(toolchain_version "${TOOLCHAIN_VERSION}") +endif () + +SET(CMAKE_C_COMPILER ${toolchain_bin_path}${TARGET_ABI}${TOOLCHAIN_VERSION}-clang + CACHE FILEPATH "cmake_c_compiler") +SET(CMAKE_CXX_COMPILER ${toolchain_bin_path}${TARGET_ABI}${TOOLCHAIN_VERSION}-clang++ + CACHE FILEPATH "cmake_cxx_compiler") +SET(CMAKE_LINKER ${toolchain_bin_path}ld.lld + CACHE FILEPATH "cmake_linker") +SET(CMAKE_ASM_COMPILER ${toolchain_bin_path}${TARGET_ABI}${TOOLCHAIN_VERSION}-clang + CACHE FILEPATH "cmake_asm_compiler") +SET(CMAKE_OBJCOPY ${toolchain_bin_path}llvm-objcopy + CACHE FILEPATH "cmake_objcopy") +SET(CMAKE_STRIP ${toolchain_bin_path}llvm-strip + CACHE FILEPATH "cmake_strip") +SET(CMAKE_CPP ${toolchain_bin_path}${TARGET_ABI}${TOOLCHAIN_VERSION}-clang + CACHE FILEPATH "cmake_cpp") + +# Specify sysroot. +if (NOT DEFINED ANDROID_SYSROOT) + # Assuming default android standalone toolchain directory layout. + find_path(compiler_path ${CMAKE_C_COMPILER}) + set(ANDROID_SYSROOT "${compiler_path}/../sysroot") +endif () + +SET(CMAKE_FIND_ROOT_PATH ${ANDROID_SYSROOT}) +# Search for programs in the build host directories. +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# For libraries and headers in the target directories. +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/make/utils.cmake b/make/utils.cmake index f561468261e..e9cd7502d28 100644 --- a/make/utils.cmake +++ b/make/utils.cmake @@ -91,6 +91,11 @@ function (check_if_linker_is_gnu_gold var_out) set(${var_out} ${is_gold} PARENT_SCOPE) endfunction (check_if_linker_is_gnu_gold) +function (check_if_linker_is_llvm_lld var_out) + _DR_check_if_linker_is_llvm_lld(is_lld) + set(${var_out} ${is_lld} PARENT_SCOPE) +endfunction (check_if_linker_is_llvm_lld) + # disable known warnings function (disable_compiler_warnings) if (WIN32) @@ -269,7 +274,7 @@ if (UNIX) endif () if (APPLE) set(ldflags "-image_base ${base}") - elseif (NOT LINKER_IS_GNU_GOLD) + elseif (NOT LINKER_IS_GNU_GOLD AND NOT LINKER_IS_LLVM_LLD) set(ld_script ${CMAKE_CURRENT_BINARY_DIR}/${target}.ldscript) set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ld_script}") diff --git a/make/utils_exposed.cmake b/make/utils_exposed.cmake index 5417694954f..ea821782312 100644 --- a/make/utils_exposed.cmake +++ b/make/utils_exposed.cmake @@ -151,6 +151,26 @@ function (_DR_check_if_linker_is_gnu_gold var_out) set(${var_out} ${is_gold} PARENT_SCOPE) endfunction (_DR_check_if_linker_is_gnu_gold) +function (_DR_check_if_linker_is_llvm_lld var_out) + if (WIN32) + # We don't support lld on Windows. We only support the MSVC toolchain. + set(is_lld OFF) + else () + set(linkver ${CMAKE_LINKER};-v) + execute_process(COMMAND ${linkver} + RESULT_VARIABLE ld_result + ERROR_QUIET + OUTPUT_VARIABLE ld_out) + set(is_lld OFF) + if (ld_result) + message("failed to get linker version, assuming ld.bfd (${ld_result})") + elseif ("${ld_out}" MATCHES "LLD ") + set(is_lld ON) + endif () + endif () + set(${var_out} ${is_lld} PARENT_SCOPE) +endfunction (_DR_check_if_linker_is_llvm_lld) + # Takes in a target and returns the expected full target path incl. output name. # # XXX i#1557: DynamoRIO cmake files used to query the LOCATION target property at From aa4d950f979af776353ef1726bec450a1683bbbe Mon Sep 17 00:00:00 2001 From: Abhinav Anil Sharma Date: Thu, 12 Dec 2024 09:45:22 -0500 Subject: [PATCH 05/13] i#7113 instr decode cache: move module mapper into raw2trace_shared (#7123) Moves the module mapper and related functionality into raw2trace_shared. This is in preparation for further changes that include the module mapper logic in a new library (drmemtrace_instr_decode_cache) that provides an instr decode cache (instr_decode_cache_t). To avoid having to pull in the whole drmemtrace_raw2trace implementation into drmemtrace_instr_decode_cache, which will end up including it in the invariant checker and everything that depends on, we separate out the module mapper into raw2trace_shared which is intended for such cases. This is a pure code move, no changes were made to logic or style. Issue: #7113 --- clients/drcachesim/tracer/instru.h | 9 +- clients/drcachesim/tracer/instru_offline.cpp | 26 +- clients/drcachesim/tracer/raw2trace.cpp | 387 ---------------- clients/drcachesim/tracer/raw2trace.h | 327 ------------- .../drcachesim/tracer/raw2trace_shared.cpp | 436 ++++++++++++++++++ clients/drcachesim/tracer/raw2trace_shared.h | 337 ++++++++++++++ 6 files changed, 775 insertions(+), 747 deletions(-) diff --git a/clients/drcachesim/tracer/instru.h b/clients/drcachesim/tracer/instru.h index 7aa6bda6191..bf674b63321 100644 --- a/clients/drcachesim/tracer/instru.h +++ b/clients/drcachesim/tracer/instru.h @@ -47,6 +47,7 @@ #include "dr_allocator.h" #include "dr_api.h" #include "drvector.h" +#include "raw2trace_shared.h" #include "trace_entry.h" namespace dynamorio { @@ -54,9 +55,6 @@ namespace drmemtrace { #define MINSERT instrlist_meta_preinsert -// Versioning for our drmodtrack custom module fields. -#define CUSTOM_MODULE_VERSION 1 - // A std::unordered_set, even using dr_allocator_t, raises transparency risks when // statically linked on Windows (from lock functions and other non-allocator // resources). We thus create our own resource-isolated class to track GPR register @@ -499,11 +497,6 @@ class offline_instru_t : public instru_t { label_marks_elidable(instr_t *instr, DR_PARAM_OUT int *opnd_index, DR_PARAM_OUT int *memopnd_index, DR_PARAM_OUT bool *is_write, DR_PARAM_OUT bool *needs_base); - static int - print_module_data_fields(char *dst, size_t max_len, const void *custom_data, - size_t custom_size, - int (*user_print_cb)(void *data, char *dst, size_t max_len), - void *user_cb_data); private: struct custom_module_data_t { diff --git a/clients/drcachesim/tracer/instru_offline.cpp b/clients/drcachesim/tracer/instru_offline.cpp index bf3e63564e5..a0c3873199f 100644 --- a/clients/drcachesim/tracer/instru_offline.cpp +++ b/clients/drcachesim/tracer/instru_offline.cpp @@ -47,6 +47,7 @@ #include "drreg.h" #include "drutil.h" #include "drvector.h" +#include "raw2trace_shared.h" #include "trace_entry.h" #include "utils.h" #include "instru.h" @@ -186,31 +187,6 @@ offline_instru_t::load_custom_module_data(module_data_t *module, int seg_idx) return nullptr; } -int -offline_instru_t::print_module_data_fields( - char *dst, size_t max_len, const void *custom_data, size_t custom_size, - int (*user_print_cb)(void *data, char *dst, size_t max_len), void *user_cb_data) -{ - char *cur = dst; - int len = dr_snprintf(dst, max_len, "v#%d,%zu,", CUSTOM_MODULE_VERSION, custom_size); - if (len < 0) - return -1; - cur += len; - if (cur - dst + custom_size > max_len) - return -1; - if (custom_size > 0) { - memcpy(cur, custom_data, custom_size); - cur += custom_size; - } - if (user_print_cb != nullptr) { - int res = (*user_print_cb)(user_cb_data, cur, max_len - (cur - dst)); - if (res == -1) - return -1; - cur += res; - } - return (int)(cur - dst); -} - int offline_instru_t::print_custom_module_data(void *data, char *dst, size_t max_len) { diff --git a/clients/drcachesim/tracer/raw2trace.cpp b/clients/drcachesim/tracer/raw2trace.cpp index 397de45050f..a280e5004c0 100644 --- a/clients/drcachesim/tracer/raw2trace.cpp +++ b/clients/drcachesim/tracer/raw2trace.cpp @@ -136,74 +136,6 @@ trace_metadata_writer_t::write_timestamp(byte *buffer, uint64 timestamp) * Module list */ -const char *(*module_mapper_t::user_parse_)(const char *src, - DR_PARAM_OUT void **data) = nullptr; -void (*module_mapper_t::user_free_)(void *data) = nullptr; -int (*module_mapper_t::user_print_)(void *data, char *dst, size_t max_len) = nullptr; -bool module_mapper_t::has_custom_data_global_ = true; - -module_mapper_t::module_mapper_t( - const char *module_map, - const char *(*parse_cb)(const char *src, DR_PARAM_OUT void **data), - std::string (*process_cb)(drmodtrack_info_t *info, void *data, void *user_data), - void *process_cb_user_data, void (*free_cb)(void *data), uint verbosity, - const std::string &alt_module_dir, file_t encoding_file) - : modmap_(module_map) - , cached_user_free_(free_cb) - , verbosity_(verbosity) - , alt_module_dir_(alt_module_dir) - , encoding_file_(encoding_file) -{ - // We mutate global state because do_module_parsing() uses drmodtrack, which - // wants global functions. The state isn't needed past do_module_parsing(), so - // we make sure to reset it afterwards. - DR_ASSERT(user_parse_ == nullptr); - DR_ASSERT(user_free_ == nullptr); - DR_ASSERT(user_print_ == nullptr); - - user_parse_ = parse_cb; - user_process_ = process_cb; - user_process_data_ = process_cb_user_data; - user_free_ = free_cb; - // has_custom_data_global_ is potentially mutated in parse_custom_module_data. - // It is assumed to be set to 'true' initially. - has_custom_data_global_ = true; - - if (modmap_ != nullptr) - last_error_ = do_module_parsing(); - if (encoding_file_ != INVALID_FILE) - last_error_ += do_encoding_parsing(); - - // capture has_custom_data_global_'s value for this instance. - has_custom_data_ = has_custom_data_global_; - - user_parse_ = nullptr; - user_free_ = nullptr; -} - -module_mapper_t::~module_mapper_t() -{ - // update user_free_ - user_free_ = cached_user_free_; - // drmodtrack_offline_exit requires the parameter to be non-null, but we - // may not have even initialized the modhandle yet. - if (modhandle_ != nullptr && - drmodtrack_offline_exit(modhandle_) != DRCOVLIB_SUCCESS) { - WARN("Failed to clean up module table data"); - } - user_free_ = nullptr; - for (std::vector::iterator mvi = modvec_.begin(); mvi != modvec_.end(); - ++mvi) { - if (!mvi->is_external && mvi->map_seg_base != NULL && mvi->total_map_size != 0) { - bool ok = dr_unmap_executable_file(mvi->map_seg_base, mvi->total_map_size); - if (!ok) - WARN("Failed to unmap module %s", mvi->path); - } - } - modhandle_ = nullptr; - modvec_.clear(); -} - std::string raw2trace_t::handle_custom_data(const char *(*parse_cb)(const char *src, DR_PARAM_OUT void **data), @@ -218,86 +150,6 @@ raw2trace_t::handle_custom_data(const char *(*parse_cb)(const char *src, return ""; } -const char * -module_mapper_t::parse_custom_module_data(const char *src, DR_PARAM_OUT void **data) -{ - const char *buf = src; - const char *skip_comma = strchr(buf, ','); - // Check the version # to try and handle legacy and newer formats. - int version = -1; - if (skip_comma == nullptr || dr_sscanf(buf, "v#%d,", &version) != 1 || - version != CUSTOM_MODULE_VERSION) { - // It's not what we expect. We try to handle legacy formats before bailing. - static bool warned_once; - has_custom_data_global_ = false; - if (!warned_once) { // Race is fine: modtrack parsing is global already. - WARN("Incorrect module field version %d: attempting to handle legacy format", - version); - warned_once = true; - } - // First, see if the user_parse_ is happy: - if (user_parse_ != nullptr) { - void *user_data; - buf = (*user_parse_)(buf, &user_data); - if (buf != nullptr) { - // Assume legacy format w/ user data but none of our own. - custom_module_data_t *custom_data = new custom_module_data_t; - custom_data->user_data = user_data; - custom_data->contents_size = 0; - custom_data->contents = nullptr; - *data = custom_data; - return buf; - } - } - // Now look for no custom field at all. - // If the next field looks like a path, we assume it's the old format with - // no user field and we continue w/o vdso data. - if (buf[0] == '/' || strstr(buf, "[vdso]") == buf) { - *data = nullptr; - return buf; - } - // Else, bail. - WARN("Unable to parse module data: custom field mismatch"); - return nullptr; - } - buf = skip_comma + 1; - skip_comma = strchr(buf, ','); - size_t size; - if (skip_comma == nullptr || dr_sscanf(buf, "%zu,", &size) != 1) - return nullptr; // error - custom_module_data_t *custom_data = new custom_module_data_t; - custom_data->contents_size = size; - buf = skip_comma + 1; - if (custom_data->contents_size == 0) - custom_data->contents = nullptr; - else { - custom_data->contents = buf; - buf += custom_data->contents_size; - } - if (user_parse_ != nullptr) - buf = (*user_parse_)(buf, &custom_data->user_data); - *data = custom_data; - return buf; -} - -int -module_mapper_t::print_custom_module_data(void *data, char *dst, size_t max_len) -{ - custom_module_data_t *custom_data = (custom_module_data_t *)data; - return offline_instru_t::print_module_data_fields( - dst, max_len, custom_data->contents, custom_data->contents_size, user_print_, - custom_data->user_data); -} - -void -module_mapper_t::free_custom_module_data(void *data) -{ - custom_module_data_t *custom_data = (custom_module_data_t *)data; - if (user_free_ != nullptr) - (*user_free_)(custom_data->user_data); - delete custom_data; -} - std::string raw2trace_t::do_module_parsing() { @@ -309,76 +161,6 @@ raw2trace_t::do_module_parsing() return module_mapper_->get_last_error(); } -std::string -module_mapper_t::do_module_parsing() -{ - uint num_mods; - VPRINT(1, "Reading module file from memory\n"); - if (drmodtrack_add_custom_data(nullptr, nullptr, parse_custom_module_data, - free_custom_module_data) != DRCOVLIB_SUCCESS) { - return "Failed to set up custom module parser"; - } - if (drmodtrack_offline_read(INVALID_FILE, modmap_, NULL, &modhandle_, &num_mods) != - DRCOVLIB_SUCCESS) - return "Failed to parse module file"; - modlist_.resize(num_mods); - for (uint i = 0; i < num_mods; i++) { - modlist_[i].struct_size = sizeof(modlist_[i]); - if (drmodtrack_offline_lookup(modhandle_, i, &modlist_[i]) != DRCOVLIB_SUCCESS) - return "Failed to query module file"; - if (user_process_ != nullptr) { - custom_module_data_t *custom = (custom_module_data_t *)modlist_[i].custom; - std::string error = - (*user_process_)(&modlist_[i], custom->user_data, user_process_data_); - if (!error.empty()) - return error; - } - } - return ""; -} - -std::string -module_mapper_t::do_encoding_parsing() -{ - if (encoding_file_ == INVALID_FILE) - return ""; - uint64 file_size; - if (!dr_file_size(encoding_file_, &file_size)) - return "Failed to obtain size of encoding file"; - size_t map_size = (size_t)file_size; - byte *map_start = reinterpret_cast( - dr_map_file(encoding_file_, &map_size, 0, NULL, DR_MEMPROT_READ, 0)); - if (map_start == nullptr || map_size < file_size) - return "Failed to map encoding file"; - byte *map_at = map_start; - byte *map_end = map_start + file_size; - uint64_t encoding_file_version = *reinterpret_cast(map_at); - map_at += sizeof(uint64_t); - if (encoding_file_version > ENCODING_FILE_VERSION) - return "Encoding file has invalid version"; - if (encoding_file_version >= ENCODING_FILE_VERSION_HAS_FILE_TYPE) { - if (map_at + sizeof(uint64_t) > map_end) - return "Encoding file header is truncated"; - uint64_t encoding_file_type = *reinterpret_cast(map_at); - map_at += sizeof(uint64_t); - separate_non_mod_instrs_ = - TESTANY(ENCODING_FILE_TYPE_SEPARATE_NON_MOD_INSTRS, encoding_file_type); - } - uint64_t cumulative_encoding_length = 0; - while (map_at < map_end) { - encoding_entry_t *entry = reinterpret_cast(map_at); - if (entry->length <= sizeof(encoding_entry_t)) - return "Encoding file is corrupted"; - if (map_at + entry->length > map_end) - return "Encoding file is truncated"; - cum_block_enc_len_to_encoding_id_[cumulative_encoding_length] = entry->id; - cumulative_encoding_length += (entry->length - sizeof(encoding_entry_t)); - encodings_[entry->id] = entry; - map_at += entry->length; - } - return ""; -} - std::string raw2trace_t::read_and_map_modules() { @@ -393,113 +175,6 @@ raw2trace_t::read_and_map_modules() return module_mapper_->get_last_error(); } -// Maps each module into the address space. -// There are several types of mapping entries in the module list: -// 1) Raw bits directly stored. It is simply pointed at. -// 2) Extra segments for a module. A single mapping is used for all -// segments, so extras are ignored. -// 3) A main segment. The module's file is located by first looking in -// the alt_module_dir_; if not found, the path present during tracing -// is searched. -void -module_mapper_t::read_and_map_modules() -{ - if (!last_error_.empty()) - return; - for (auto it = modlist_.begin(); it != modlist_.end(); ++it) { - drmodtrack_info_t &info = *it; - custom_module_data_t *custom_data = (custom_module_data_t *)info.custom; - if (custom_data != nullptr && custom_data->contents_size > 0) { - // These raw bytes for vdso is only present for legacy traces; we - // use encoding entries for new traces. - // XXX i#2062: Delete this code once we stop supporting legacy traces. - VPRINT(1, "Using module %d %s stored %zd-byte contents @" PFX "\n", - (int)modvec_.size(), info.path, custom_data->contents_size, - custom_data->contents); - modvec_.push_back( - module_t(info.path, info.start, (byte *)custom_data->contents, 0, - custom_data->contents_size, custom_data->contents_size, - true /*external data*/)); - } else if (strcmp(info.path, "") == 0 || - // This should only happen with legacy trace data that's missing - // the vdso contents. - (!has_custom_data_ && strcmp(info.path, "[vdso]") == 0)) { - // We won't be able to decode. - modvec_.push_back(module_t(info.path, info.start, NULL, 0, 0, 0)); - } else if (info.containing_index != info.index) { - // For split segments, we assume our mapped layout matches the original. - byte *seg_map_base = modvec_[info.containing_index].map_seg_base + - (info.start - modvec_[info.containing_index].orig_seg_base); - VPRINT(1, "Secondary segment: module %d seg %p-%p = %s\n", - (int)modvec_.size(), seg_map_base, seg_map_base + info.size, - info.path); - // We did not map writable segments. We can't easily detect an internal - // unmapped writable segment, but for those off the end of our mapping we - // can avoid pretending there's anything there. - bool off_end = - (size_t)(info.start - modvec_[info.containing_index].orig_seg_base) >= - modvec_[info.containing_index].total_map_size; - DR_ASSERT(off_end || - info.start - modvec_[info.containing_index].orig_seg_base + - info.size <= - modvec_[info.containing_index].total_map_size); - modvec_.push_back(module_t( - info.path, info.start, off_end ? NULL : seg_map_base, - off_end ? 0 : info.start - modvec_[info.containing_index].orig_seg_base, - off_end ? 0 : info.size, - // 0 total size indicates this is a secondary segment. - 0)); - } else { - size_t map_size = 0; - byte *base_pc = NULL; - if (!alt_module_dir_.empty()) { - // First try the specified module dir. It takes precedence to allow - // overriding the recorded path even when an identical-seeming path - // exists on the processing machine (e.g., system libraries). - // XXX: We should add a checksum on UNIX to match Windows and have - // a sanity check on the library version. - std::string basename(info.path); - size_t sep_index = basename.find_last_of(DIRSEP ALT_DIRSEP); - if (sep_index != std::string::npos) - basename = std::string(basename, sep_index + 1, std::string::npos); - std::string new_path = alt_module_dir_ + DIRSEP + basename; - VPRINT(2, "Trying to map %s\n", new_path.c_str()); - base_pc = dr_map_executable_file(new_path.c_str(), - DR_MAPEXE_SKIP_WRITABLE, &map_size); - } - if (base_pc == NULL) { - // Try the recorded path. - VPRINT(2, "Trying to map %s\n", info.path); - base_pc = - dr_map_executable_file(info.path, DR_MAPEXE_SKIP_WRITABLE, &map_size); - } - if (base_pc == NULL) { - // We expect to fail to map dynamorio.dll for x64 Windows as it - // is built /fixed. (We could try to have the map succeed w/o relocs, - // but we expect to not care enough about code in DR). - // We also expect to fail for vdso, for which we have encoding entries. - if (strstr(info.path, "dynamorio") != nullptr || - strstr(info.path, "linux-gate") != nullptr || - strstr(info.path, "vdso") != nullptr) - modvec_.push_back(module_t(info.path, info.start, NULL, 0, 0, 0)); - else { - last_error_ = "Failed to map module " + std::string(info.path); - return; - } - } else { - VPRINT(1, "Mapped module %d @%p-%p (-%p segment) = %s\n", - (int)modvec_.size(), base_pc, base_pc + map_size, - base_pc + info.size, info.path); - // Be sure to only use the initial segment size to avoid covering - // another mapping in a segment gap (i#4731). - modvec_.push_back( - module_t(info.path, info.start, base_pc, 0, info.size, map_size)); - } - } - } - VPRINT(1, "Successfully read %zu modules\n", modlist_.size()); -} - std::string raw2trace_t::do_module_parsing_and_mapping() { @@ -517,68 +192,6 @@ raw2trace_t::find_mapped_trace_address(app_pc trace_address, return module_mapper_->get_last_error(); } -// The output range is really a segment and not the whole module. -app_pc -module_mapper_t::find_mapped_trace_bounds(app_pc trace_address, - DR_PARAM_OUT app_pc *module_start, - DR_PARAM_OUT size_t *module_size) -{ - if (modvec_.empty()) { - last_error_ = "Failed to call get_loaded_modules() first"; - return nullptr; - } - - // For simplicity we do a linear search, caching the prior hit. - if (trace_address >= last_orig_base_ && - trace_address < last_orig_base_ + last_map_size_) { - if (module_start != nullptr) - *module_start = last_map_base_; - if (module_size != nullptr) - *module_size = last_map_size_; - return trace_address - last_orig_base_ + last_map_base_; - } - for (std::vector::iterator mvi = modvec_.begin(); mvi != modvec_.end(); - ++mvi) { - if (trace_address >= mvi->orig_seg_base && - trace_address < mvi->orig_seg_base + mvi->seg_size) { - app_pc mapped_address = - trace_address - mvi->orig_seg_base + mvi->map_seg_base; - last_orig_base_ = mvi->orig_seg_base; - last_map_size_ = mvi->seg_size; - last_map_base_ = mvi->map_seg_base; - if (module_start != nullptr) - *module_start = last_map_base_; - if (module_size != nullptr) - *module_size = last_map_size_; - return mapped_address; - } - } - last_error_ = "Trace address not found"; - return nullptr; -} - -app_pc -module_mapper_t::find_mapped_trace_address(app_pc trace_address) -{ - return find_mapped_trace_bounds(trace_address, nullptr, nullptr); -} - -drcovlib_status_t -module_mapper_t::write_module_data(char *buf, size_t buf_size, - int (*print_cb)(void *data, char *dst, size_t max_len), - DR_PARAM_OUT size_t *wrote) -{ - user_print_ = print_cb; - drcovlib_status_t res = - drmodtrack_add_custom_data(nullptr, print_custom_module_data, - parse_custom_module_data, free_custom_module_data); - if (res == DRCOVLIB_SUCCESS) { - res = drmodtrack_offline_write(modhandle_, buf, buf_size, wrote); - } - user_print_ = nullptr; - return res; -} - /*************************************************************************** * Top-level */ diff --git a/clients/drcachesim/tracer/raw2trace.h b/clients/drcachesim/tracer/raw2trace.h index 794b37cd27d..41662004997 100644 --- a/clients/drcachesim/tracer/raw2trace.h +++ b/clients/drcachesim/tracer/raw2trace.h @@ -64,7 +64,6 @@ #include "archive_ostream.h" #include "dr_api.h" -#include "drcovlib.h" #include "drmemtrace.h" #include "hashtable.h" #include "instru.h" @@ -129,32 +128,6 @@ typedef enum { RAW2TRACE_STAT_MAX, } raw2trace_statistic_t; -struct module_t { - module_t(const char *path, app_pc orig, byte *map, size_t offs, size_t size, - size_t total_size, bool external = false) - : path(path) - , orig_seg_base(orig) - , map_seg_base(map) - , seg_offs(offs) - , seg_size(size) - , total_map_size(total_size) - , is_external(external) - { - } - const char *path; - // We have to handle segments within a module separately, as there can be - // gaps between them that contain other objects (xref i#4731). - app_pc orig_seg_base; - byte *map_seg_base; - size_t seg_offs; - size_t seg_size; - // Despite tracking segments separately, we have a single mapping. - // The first segment stores that mapping size here; subsequent segments - // have 0 for this field. - size_t total_map_size; - bool is_external; // If true, the data is embedded in drmodtrack custom fields. -}; - /** * instr_summary_t is a compact encapsulation of the information needed by trace * conversion from decoded instructions. @@ -398,306 +371,6 @@ struct trace_metadata_writer_t { write_timestamp(byte *buffer, uint64 timestamp); }; -/** - * module_mapper_t maps and unloads application modules, as well as non-module - * instruction encodings (for raw traces, or if not present in the final trace). - * Using it assumes a dr_context has already been setup. - * This class is not thread-safe. - */ -class module_mapper_t { -public: - /** - * Parses and iterates over the list of modules. This is provided to give the user a - * method for iterating modules in the presence of the custom field used by drmemtrace - * that prevents direct use of drmodtrack_offline_read(). Its parsing of the module - * data will invoke \p parse_cb, which should advance the module data pointer passed - * in \p src and return it as its return value (or nullptr on error), returning - * the resulting parsed data in \p data. The \p data pointer will afterwards be - * passed to both \p process_cb, which can update the module path inside \p info - * (and return a non-empty string on error), and \b free_cb, which can perform - * cleanup. - * - * The callbacks will only be called during object construction. - * - * Additionally parses the non-module instruction encodings file if 'encoding_file' - * is not nullptr. - * - * On success, calls the \p process_cb function for every module in the list. - * On failure, get_last_error() is non-empty, and indicates the cause. - */ - static std::unique_ptr - create(const char *module_map, - const char *(*parse_cb)(const char *src, DR_PARAM_OUT void **data) = nullptr, - std::string (*process_cb)(drmodtrack_info_t *info, void *data, - void *user_data) = nullptr, - void *process_cb_user_data = nullptr, void (*free_cb)(void *data) = nullptr, - uint verbosity = 0, const std::string &alt_module_dir = "", - file_t encoding_file = INVALID_FILE) - { - return std::unique_ptr( - new module_mapper_t(module_map, parse_cb, process_cb, process_cb_user_data, - free_cb, verbosity, alt_module_dir, encoding_file)); - } - - /** - * All APIs on this type, including constructor, may fail. get_last_error() returns - * the last error message. The object should be considered unusable if - * !get_last_error().empty(). - */ - std::string - get_last_error(void) const - { - return last_error_; - } - - /** - * module_t vector corresponding to the application modules. Lazily loads and caches - * modules. If the object is invalid, returns an empty vector. The user may check - * get_last_error() to ensure no error has occurred, or get the applicable error - * message. - */ - virtual const std::vector & - get_loaded_modules() - { - if (last_error_.empty() && modvec_.empty()) - read_and_map_modules(); - return modvec_; - } - - app_pc - get_orig_pc_from_map_pc(app_pc map_pc, uint64 modidx, uint64 modoffs) const - { - if (modidx == PC_MODIDX_INVALID) { - uint64 blockidx = 0; - uint64 blockoffs = 0; - convert_modoffs_to_non_mod_block(modoffs, blockidx, blockoffs); - auto const it = encodings_.find(blockidx); - if (it == encodings_.end()) - return nullptr; - encoding_entry_t *entry = it->second; - return (map_pc - entry->encodings) + - reinterpret_cast(entry->start_pc); - } else { - size_t idx = static_cast(modidx); // Avoid win32 warnings. - app_pc res = map_pc - modvec_[idx].map_seg_base + modvec_[idx].orig_seg_base; -#ifdef ARM - // Match Thumb vs Arm mode by setting LSB. - if (TESTANY(1, modoffs)) - res = reinterpret_cast(reinterpret_cast(res) | 1); -#endif - return res; - } - } - - app_pc - get_orig_pc(uint64 modidx, uint64 modoffs) const - { - if (modidx == PC_MODIDX_INVALID) { - uint64 blockidx = 0; - uint64 blockoffs = 0; - convert_modoffs_to_non_mod_block(modoffs, blockidx, blockoffs); - auto const it = encodings_.find(blockidx); - if (it == encodings_.end()) - return nullptr; - encoding_entry_t *entry = it->second; - return reinterpret_cast(entry->start_pc + blockoffs); - } else { - size_t idx = static_cast(modidx); // Avoid win32 warnings. - // Cast to unsigned pointer-sized int first to avoid sign-extending. - return reinterpret_cast( - reinterpret_cast(modvec_[idx].orig_seg_base)) + - (modoffs - modvec_[idx].seg_offs); - } - } - - app_pc - get_map_pc(uint64 modidx, uint64 modoffs) const - { - if (modidx == PC_MODIDX_INVALID) { - uint64 blockidx = 0; - uint64 blockoffs = 0; - convert_modoffs_to_non_mod_block(modoffs, blockidx, blockoffs); - auto const it = encodings_.find(blockidx); - if (it == encodings_.end()) - return nullptr; - encoding_entry_t *entry = it->second; - return &entry->encodings[blockoffs]; - } else { - size_t idx = static_cast(modidx); // Avoid win32 warnings. - return modvec_[idx].map_seg_base + (modoffs - modvec_[idx].seg_offs); - } - } - - /** - * This interface is meant to be used with a final trace rather than a raw - * trace, using the module log file saved from the raw2trace conversion. - * After a call to get_loaded_modules(), this routine may be used - * to convert an instruction program counter in a trace into an address in the - * current process where the instruction bytes for that instruction are mapped, - * allowing decoding for obtaining further information than is stored in the trace. - * This interface only supports code inside modules; generated code is - * expected to have instruction encodings in the trace itself. - * Returns the mapped address. Check get_last_error_() if an error occurred. - */ - app_pc - find_mapped_trace_address(app_pc trace_address); - - /** - * This is identical to find_mapped_trace_address() but it also returns the - * bounds of the containing region, allowing the caller to perform its own - * mapping for any address that is also within those bounds. - */ - app_pc - find_mapped_trace_bounds(app_pc trace_address, DR_PARAM_OUT app_pc *module_start, - DR_PARAM_OUT size_t *module_size); - - /** - * Unload modules loaded with read_and_map_modules(), freeing associated resources. - */ - virtual ~module_mapper_t(); - - /** - * Writes out the module list to \p buf, whose capacity is \p buf_size. - * The written data includes any modifications made by the \p process_cb - * passed to create(). Any custom data returned by the \p parse_cb passed to - * create() is passed to \p print_cb here for serialization. The \p print_cb - * must return the number of characters printed or -1 on error. - */ - drcovlib_status_t - write_module_data(char *buf, size_t buf_size, - int (*print_cb)(void *data, char *dst, size_t max_len), - DR_PARAM_OUT size_t *wrote); - -protected: - module_mapper_t(const char *module_map, - const char *(*parse_cb)(const char *src, - DR_PARAM_OUT void **data) = nullptr, - std::string (*process_cb)(drmodtrack_info_t *info, void *data, - void *user_data) = nullptr, - void *process_cb_user_data = nullptr, - void (*free_cb)(void *data) = nullptr, uint verbosity = 0, - const std::string &alt_module_dir = "", - file_t encoding_file = INVALID_FILE); - - module_mapper_t(const module_mapper_t &) = delete; - module_mapper_t & - operator=(const module_mapper_t &) = delete; -#ifndef WINDOWS - module_mapper_t(module_mapper_t &&) = delete; - module_mapper_t & - operator=(module_mapper_t &&) = delete; -#endif - // We store this in drmodtrack_info_t.custom to combine our binary contents - // data with any user-added module data from drmemtrace_custom_module_data. - struct custom_module_data_t { - size_t contents_size; - const char *contents; - void *user_data; - }; - - void - convert_modoffs_to_non_mod_block(uint64 modoffs, uint64 &blockidx, - uint64 &blockoffs) const - { - if (!separate_non_mod_instrs_) { - blockidx = modoffs; - blockoffs = 0; - return; - } - auto it = cum_block_enc_len_to_encoding_id_.upper_bound(modoffs); - // Since modoffs >= 0 and the smallest key in cum_block_enc_len_to_encoding_id_ is - // always zero, `it` should never be the first element of the map. - DR_ASSERT(it != cum_block_enc_len_to_encoding_id_.begin()); - auto it_prev = it; - it_prev--; - DR_ASSERT(it_prev->first <= modoffs && - (it == cum_block_enc_len_to_encoding_id_.end() || it->first > modoffs)); - blockidx = it_prev->second; - blockoffs = modoffs - it_prev->first; - } - - virtual void - read_and_map_modules(void); - - std::string - do_module_parsing(); - - std::string - do_encoding_parsing(); - - const char *modmap_ = nullptr; - void *modhandle_ = nullptr; - std::vector modvec_; - void (*const cached_user_free_)(void *data) = nullptr; - - // Custom module fields that use drmodtrack are global. - static const char *(*user_parse_)(const char *src, DR_PARAM_OUT void **data); - static void (*user_free_)(void *data); - static int (*user_print_)(void *data, char *dst, size_t max_len); - static const char * - parse_custom_module_data(const char *src, DR_PARAM_OUT void **data); - static int - print_custom_module_data(void *data, char *dst, size_t max_len); - static void - free_custom_module_data(void *data); - static bool has_custom_data_global_; - - bool has_custom_data_ = false; - - // We store module info for do_module_parsing. - std::vector modlist_; - std::string (*user_process_)(drmodtrack_info_t *info, void *data, - void *user_data) = nullptr; - void *user_process_data_ = nullptr; - app_pc last_orig_base_ = 0; - size_t last_map_size_ = 0; - byte *last_map_base_ = nullptr; - bool separate_non_mod_instrs_ = false; - std::map cum_block_enc_len_to_encoding_id_; - - uint verbosity_ = 0; - std::string alt_module_dir_; - std::string last_error_; - - file_t encoding_file_ = INVALID_FILE; - std::unordered_map encodings_; -}; - -/** - * Subclasses module_mapper_t and replaces the module loading with a buffer - * of encoded instr_t. Useful for tests where we want to mock the module - * files with an in-memory buffer of instrs. - */ -class test_module_mapper_t : public module_mapper_t { -public: - test_module_mapper_t(instrlist_t *instrs, void *drcontext) - : module_mapper_t(nullptr) - { - // We encode for 1-based addresses for simpler tests with low values while - // avoiding null pointer manipulation complaints (xref i#6196). - byte *pc = instrlist_encode_to_copy( - drcontext, instrs, decode_buf_, - reinterpret_cast(static_cast(4)), nullptr, true); - DR_ASSERT(pc != nullptr); - DR_ASSERT(pc - decode_buf_ < MAX_DECODE_SIZE); - // Clear do_module_parsing error; we can't cleanly make virtual b/c it's - // called from the constructor. - last_error_ = ""; - } - -protected: - void - read_and_map_modules() override - { - modvec_.push_back(module_t("fake_exe", 0, decode_buf_, 0, MAX_DECODE_SIZE, - MAX_DECODE_SIZE, true)); - } - -private: - static const int MAX_DECODE_SIZE = 1024; - byte decode_buf_[MAX_DECODE_SIZE]; -}; - /** * Header of raw trace. */ diff --git a/clients/drcachesim/tracer/raw2trace_shared.cpp b/clients/drcachesim/tracer/raw2trace_shared.cpp index ae6ffa7e3ed..5421a400ed6 100644 --- a/clients/drcachesim/tracer/raw2trace_shared.cpp +++ b/clients/drcachesim/tracer/raw2trace_shared.cpp @@ -33,6 +33,7 @@ #include "raw2trace_shared.h" #include +#include #include #include #include @@ -44,6 +45,28 @@ namespace dynamorio { namespace drmemtrace { +#define WARN(msg, ...) \ + do { \ + fprintf(stderr, "WARNING: " msg "\n", ##__VA_ARGS__); \ + fflush(stderr); \ + } while (0) + +#define VPRINT_HEADER() \ + do { \ + fprintf(stderr, "[drmemtrace]: "); \ + } while (0) + +// We fflush for Windows cygwin where stderr is not flushed. +#undef VPRINT +#define VPRINT(level, ...) \ + do { \ + if (this->verbosity_ >= (level)) { \ + VPRINT_HEADER(); \ + fprintf(stderr, __VA_ARGS__); \ + fflush(stderr); \ + } \ + } while (0) + bool trace_metadata_reader_t::is_thread_start(const offline_entry_t *entry, DR_PARAM_OUT std::string *error, @@ -143,5 +166,418 @@ drmemtrace_get_timestamp_from_offline_trace(const void *trace, size_t trace_size return DRMEMTRACE_SUCCESS; } +// The output range is really a segment and not the whole module. +app_pc +module_mapper_t::find_mapped_trace_bounds(app_pc trace_address, + DR_PARAM_OUT app_pc *module_start, + DR_PARAM_OUT size_t *module_size) +{ + if (modvec_.empty()) { + last_error_ = "Failed to call get_loaded_modules() first"; + return nullptr; + } + + // For simplicity we do a linear search, caching the prior hit. + if (trace_address >= last_orig_base_ && + trace_address < last_orig_base_ + last_map_size_) { + if (module_start != nullptr) + *module_start = last_map_base_; + if (module_size != nullptr) + *module_size = last_map_size_; + return trace_address - last_orig_base_ + last_map_base_; + } + for (std::vector::iterator mvi = modvec_.begin(); mvi != modvec_.end(); + ++mvi) { + if (trace_address >= mvi->orig_seg_base && + trace_address < mvi->orig_seg_base + mvi->seg_size) { + app_pc mapped_address = + trace_address - mvi->orig_seg_base + mvi->map_seg_base; + last_orig_base_ = mvi->orig_seg_base; + last_map_size_ = mvi->seg_size; + last_map_base_ = mvi->map_seg_base; + if (module_start != nullptr) + *module_start = last_map_base_; + if (module_size != nullptr) + *module_size = last_map_size_; + return mapped_address; + } + } + last_error_ = "Trace address not found"; + return nullptr; +} + +app_pc +module_mapper_t::find_mapped_trace_address(app_pc trace_address) +{ + return find_mapped_trace_bounds(trace_address, nullptr, nullptr); +} + +drcovlib_status_t +module_mapper_t::write_module_data(char *buf, size_t buf_size, + int (*print_cb)(void *data, char *dst, size_t max_len), + DR_PARAM_OUT size_t *wrote) +{ + user_print_ = print_cb; + drcovlib_status_t res = + drmodtrack_add_custom_data(nullptr, print_custom_module_data, + parse_custom_module_data, free_custom_module_data); + if (res == DRCOVLIB_SUCCESS) { + res = drmodtrack_offline_write(modhandle_, buf, buf_size, wrote); + } + user_print_ = nullptr; + return res; +} + +// Maps each module into the address space. +// There are several types of mapping entries in the module list: +// 1) Raw bits directly stored. It is simply pointed at. +// 2) Extra segments for a module. A single mapping is used for all +// segments, so extras are ignored. +// 3) A main segment. The module's file is located by first looking in +// the alt_module_dir_; if not found, the path present during tracing +// is searched. +void +module_mapper_t::read_and_map_modules() +{ + if (!last_error_.empty()) + return; + for (auto it = modlist_.begin(); it != modlist_.end(); ++it) { + drmodtrack_info_t &info = *it; + custom_module_data_t *custom_data = (custom_module_data_t *)info.custom; + if (custom_data != nullptr && custom_data->contents_size > 0) { + // These raw bytes for vdso is only present for legacy traces; we + // use encoding entries for new traces. + // XXX i#2062: Delete this code once we stop supporting legacy traces. + VPRINT(1, "Using module %d %s stored %zd-byte contents @" PFX "\n", + (int)modvec_.size(), info.path, custom_data->contents_size, + custom_data->contents); + modvec_.push_back( + module_t(info.path, info.start, (byte *)custom_data->contents, 0, + custom_data->contents_size, custom_data->contents_size, + true /*external data*/)); + } else if (strcmp(info.path, "") == 0 || + // This should only happen with legacy trace data that's missing + // the vdso contents. + (!has_custom_data_ && strcmp(info.path, "[vdso]") == 0)) { + // We won't be able to decode. + modvec_.push_back(module_t(info.path, info.start, NULL, 0, 0, 0)); + } else if (info.containing_index != info.index) { + // For split segments, we assume our mapped layout matches the original. + byte *seg_map_base = modvec_[info.containing_index].map_seg_base + + (info.start - modvec_[info.containing_index].orig_seg_base); + VPRINT(1, "Secondary segment: module %d seg %p-%p = %s\n", + (int)modvec_.size(), seg_map_base, seg_map_base + info.size, + info.path); + // We did not map writable segments. We can't easily detect an internal + // unmapped writable segment, but for those off the end of our mapping we + // can avoid pretending there's anything there. + bool off_end = + (size_t)(info.start - modvec_[info.containing_index].orig_seg_base) >= + modvec_[info.containing_index].total_map_size; + DR_ASSERT(off_end || + info.start - modvec_[info.containing_index].orig_seg_base + + info.size <= + modvec_[info.containing_index].total_map_size); + modvec_.push_back(module_t( + info.path, info.start, off_end ? NULL : seg_map_base, + off_end ? 0 : info.start - modvec_[info.containing_index].orig_seg_base, + off_end ? 0 : info.size, + // 0 total size indicates this is a secondary segment. + 0)); + } else { + size_t map_size = 0; + byte *base_pc = NULL; + if (!alt_module_dir_.empty()) { + // First try the specified module dir. It takes precedence to allow + // overriding the recorded path even when an identical-seeming path + // exists on the processing machine (e.g., system libraries). + // XXX: We should add a checksum on UNIX to match Windows and have + // a sanity check on the library version. + std::string basename(info.path); + size_t sep_index = basename.find_last_of(DIRSEP ALT_DIRSEP); + if (sep_index != std::string::npos) + basename = std::string(basename, sep_index + 1, std::string::npos); + std::string new_path = alt_module_dir_ + DIRSEP + basename; + VPRINT(2, "Trying to map %s\n", new_path.c_str()); + base_pc = dr_map_executable_file(new_path.c_str(), + DR_MAPEXE_SKIP_WRITABLE, &map_size); + } + if (base_pc == NULL) { + // Try the recorded path. + VPRINT(2, "Trying to map %s\n", info.path); + base_pc = + dr_map_executable_file(info.path, DR_MAPEXE_SKIP_WRITABLE, &map_size); + } + if (base_pc == NULL) { + // We expect to fail to map dynamorio.dll for x64 Windows as it + // is built /fixed. (We could try to have the map succeed w/o relocs, + // but we expect to not care enough about code in DR). + // We also expect to fail for vdso, for which we have encoding entries. + if (strstr(info.path, "dynamorio") != nullptr || + strstr(info.path, "linux-gate") != nullptr || + strstr(info.path, "vdso") != nullptr) + modvec_.push_back(module_t(info.path, info.start, NULL, 0, 0, 0)); + else { + last_error_ = "Failed to map module " + std::string(info.path); + return; + } + } else { + VPRINT(1, "Mapped module %d @%p-%p (-%p segment) = %s\n", + (int)modvec_.size(), base_pc, base_pc + map_size, + base_pc + info.size, info.path); + // Be sure to only use the initial segment size to avoid covering + // another mapping in a segment gap (i#4731). + modvec_.push_back( + module_t(info.path, info.start, base_pc, 0, info.size, map_size)); + } + } + } + VPRINT(1, "Successfully read %zu modules\n", modlist_.size()); +} + +std::string +module_mapper_t::do_module_parsing() +{ + uint num_mods; + VPRINT(1, "Reading module file from memory\n"); + if (drmodtrack_add_custom_data(nullptr, nullptr, parse_custom_module_data, + free_custom_module_data) != DRCOVLIB_SUCCESS) { + return "Failed to set up custom module parser"; + } + if (drmodtrack_offline_read(INVALID_FILE, modmap_, NULL, &modhandle_, &num_mods) != + DRCOVLIB_SUCCESS) + return "Failed to parse module file"; + modlist_.resize(num_mods); + for (uint i = 0; i < num_mods; i++) { + modlist_[i].struct_size = sizeof(modlist_[i]); + if (drmodtrack_offline_lookup(modhandle_, i, &modlist_[i]) != DRCOVLIB_SUCCESS) + return "Failed to query module file"; + if (user_process_ != nullptr) { + custom_module_data_t *custom = (custom_module_data_t *)modlist_[i].custom; + std::string error = + (*user_process_)(&modlist_[i], custom->user_data, user_process_data_); + if (!error.empty()) + return error; + } + } + return ""; +} + +std::string +module_mapper_t::do_encoding_parsing() +{ + if (encoding_file_ == INVALID_FILE) + return ""; + uint64 file_size; + if (!dr_file_size(encoding_file_, &file_size)) + return "Failed to obtain size of encoding file"; + size_t map_size = (size_t)file_size; + byte *map_start = reinterpret_cast( + dr_map_file(encoding_file_, &map_size, 0, NULL, DR_MEMPROT_READ, 0)); + if (map_start == nullptr || map_size < file_size) + return "Failed to map encoding file"; + byte *map_at = map_start; + byte *map_end = map_start + file_size; + uint64_t encoding_file_version = *reinterpret_cast(map_at); + map_at += sizeof(uint64_t); + if (encoding_file_version > ENCODING_FILE_VERSION) + return "Encoding file has invalid version"; + if (encoding_file_version >= ENCODING_FILE_VERSION_HAS_FILE_TYPE) { + if (map_at + sizeof(uint64_t) > map_end) + return "Encoding file header is truncated"; + uint64_t encoding_file_type = *reinterpret_cast(map_at); + map_at += sizeof(uint64_t); + separate_non_mod_instrs_ = + TESTANY(ENCODING_FILE_TYPE_SEPARATE_NON_MOD_INSTRS, encoding_file_type); + } + uint64_t cumulative_encoding_length = 0; + while (map_at < map_end) { + encoding_entry_t *entry = reinterpret_cast(map_at); + if (entry->length <= sizeof(encoding_entry_t)) + return "Encoding file is corrupted"; + if (map_at + entry->length > map_end) + return "Encoding file is truncated"; + cum_block_enc_len_to_encoding_id_[cumulative_encoding_length] = entry->id; + cumulative_encoding_length += (entry->length - sizeof(encoding_entry_t)); + encodings_[entry->id] = entry; + map_at += entry->length; + } + return ""; +} + +const char * +module_mapper_t::parse_custom_module_data(const char *src, DR_PARAM_OUT void **data) +{ + const char *buf = src; + const char *skip_comma = strchr(buf, ','); + // Check the version # to try and handle legacy and newer formats. + int version = -1; + if (skip_comma == nullptr || dr_sscanf(buf, "v#%d,", &version) != 1 || + version != CUSTOM_MODULE_VERSION) { + // It's not what we expect. We try to handle legacy formats before bailing. + static bool warned_once; + has_custom_data_global_ = false; + if (!warned_once) { // Race is fine: modtrack parsing is global already. + WARN("Incorrect module field version %d: attempting to handle legacy format", + version); + warned_once = true; + } + // First, see if the user_parse_ is happy: + if (user_parse_ != nullptr) { + void *user_data; + buf = (*user_parse_)(buf, &user_data); + if (buf != nullptr) { + // Assume legacy format w/ user data but none of our own. + custom_module_data_t *custom_data = new custom_module_data_t; + custom_data->user_data = user_data; + custom_data->contents_size = 0; + custom_data->contents = nullptr; + *data = custom_data; + return buf; + } + } + // Now look for no custom field at all. + // If the next field looks like a path, we assume it's the old format with + // no user field and we continue w/o vdso data. + if (buf[0] == '/' || strstr(buf, "[vdso]") == buf) { + *data = nullptr; + return buf; + } + // Else, bail. + WARN("Unable to parse module data: custom field mismatch"); + return nullptr; + } + buf = skip_comma + 1; + skip_comma = strchr(buf, ','); + size_t size; + if (skip_comma == nullptr || dr_sscanf(buf, "%zu,", &size) != 1) + return nullptr; // error + custom_module_data_t *custom_data = new custom_module_data_t; + custom_data->contents_size = size; + buf = skip_comma + 1; + if (custom_data->contents_size == 0) + custom_data->contents = nullptr; + else { + custom_data->contents = buf; + buf += custom_data->contents_size; + } + if (user_parse_ != nullptr) + buf = (*user_parse_)(buf, &custom_data->user_data); + *data = custom_data; + return buf; +} + +int +module_mapper_t::print_custom_module_data(void *data, char *dst, size_t max_len) +{ + custom_module_data_t *custom_data = (custom_module_data_t *)data; + return print_module_data_fields(dst, max_len, custom_data->contents, + custom_data->contents_size, user_print_, + custom_data->user_data); +} + +void +module_mapper_t::free_custom_module_data(void *data) +{ + custom_module_data_t *custom_data = (custom_module_data_t *)data; + if (user_free_ != nullptr) + (*user_free_)(custom_data->user_data); + delete custom_data; +} + +const char *(*module_mapper_t::user_parse_)(const char *src, + DR_PARAM_OUT void **data) = nullptr; +void (*module_mapper_t::user_free_)(void *data) = nullptr; +int (*module_mapper_t::user_print_)(void *data, char *dst, size_t max_len) = nullptr; +bool module_mapper_t::has_custom_data_global_ = true; + +module_mapper_t::module_mapper_t( + const char *module_map, + const char *(*parse_cb)(const char *src, DR_PARAM_OUT void **data), + std::string (*process_cb)(drmodtrack_info_t *info, void *data, void *user_data), + void *process_cb_user_data, void (*free_cb)(void *data), uint verbosity, + const std::string &alt_module_dir, file_t encoding_file) + : modmap_(module_map) + , cached_user_free_(free_cb) + , verbosity_(verbosity) + , alt_module_dir_(alt_module_dir) + , encoding_file_(encoding_file) +{ + // We mutate global state because do_module_parsing() uses drmodtrack, which + // wants global functions. The state isn't needed past do_module_parsing(), so + // we make sure to reset it afterwards. + DR_ASSERT(user_parse_ == nullptr); + DR_ASSERT(user_free_ == nullptr); + DR_ASSERT(user_print_ == nullptr); + + user_parse_ = parse_cb; + user_process_ = process_cb; + user_process_data_ = process_cb_user_data; + user_free_ = free_cb; + // has_custom_data_global_ is potentially mutated in parse_custom_module_data. + // It is assumed to be set to 'true' initially. + has_custom_data_global_ = true; + + if (modmap_ != nullptr) + last_error_ = do_module_parsing(); + if (encoding_file_ != INVALID_FILE) + last_error_ += do_encoding_parsing(); + + // capture has_custom_data_global_'s value for this instance. + has_custom_data_ = has_custom_data_global_; + + user_parse_ = nullptr; + user_free_ = nullptr; +} + +module_mapper_t::~module_mapper_t() +{ + // update user_free_ + user_free_ = cached_user_free_; + // drmodtrack_offline_exit requires the parameter to be non-null, but we + // may not have even initialized the modhandle yet. + if (modhandle_ != nullptr && + drmodtrack_offline_exit(modhandle_) != DRCOVLIB_SUCCESS) { + WARN("Failed to clean up module table data"); + } + user_free_ = nullptr; + for (std::vector::iterator mvi = modvec_.begin(); mvi != modvec_.end(); + ++mvi) { + if (!mvi->is_external && mvi->map_seg_base != NULL && mvi->total_map_size != 0) { + bool ok = dr_unmap_executable_file(mvi->map_seg_base, mvi->total_map_size); + if (!ok) + WARN("Failed to unmap module %s", mvi->path); + } + } + modhandle_ = nullptr; + modvec_.clear(); +} + +int +print_module_data_fields(char *dst, size_t max_len, const void *custom_data, + size_t custom_size, + int (*user_print_cb)(void *data, char *dst, size_t max_len), + void *user_cb_data) +{ + char *cur = dst; + int len = dr_snprintf(dst, max_len, "v#%d,%zu,", CUSTOM_MODULE_VERSION, custom_size); + if (len < 0) + return -1; + cur += len; + if (cur - dst + custom_size > max_len) + return -1; + if (custom_size > 0) { + memcpy(cur, custom_data, custom_size); + cur += custom_size; + } + if (user_print_cb != nullptr) { + int res = (*user_print_cb)(user_cb_data, cur, max_len - (cur - dst)); + if (res == -1) + return -1; + cur += res; + } + return (int)(cur - dst); +} + } // namespace drmemtrace } // namespace dynamorio diff --git a/clients/drcachesim/tracer/raw2trace_shared.h b/clients/drcachesim/tracer/raw2trace_shared.h index 1fa67a1e3f1..18b08f6dc43 100644 --- a/clients/drcachesim/tracer/raw2trace_shared.h +++ b/clients/drcachesim/tracer/raw2trace_shared.h @@ -42,8 +42,10 @@ */ #include +#include #include "dr_api.h" +#include "drcovlib.h" #include "drmemtrace.h" #include "reader.h" #include "trace_entry.h" @@ -72,6 +74,9 @@ namespace drmemtrace { #define TRACE_SUBDIR "trace" #define TRACE_CHUNK_PREFIX "chunk." +// Versioning for our drmodtrack custom module fields. +#define CUSTOM_MODULE_VERSION 1 + /** * Functions for decoding and verifying raw memtrace data headers. */ @@ -154,6 +159,338 @@ class memref_counter_t : public reader_t { std::list list_; }; +struct module_t { + module_t(const char *path, app_pc orig, byte *map, size_t offs, size_t size, + size_t total_size, bool external = false) + : path(path) + , orig_seg_base(orig) + , map_seg_base(map) + , seg_offs(offs) + , seg_size(size) + , total_map_size(total_size) + , is_external(external) + { + } + const char *path; + // We have to handle segments within a module separately, as there can be + // gaps between them that contain other objects (xref i#4731). + app_pc orig_seg_base; + byte *map_seg_base; + size_t seg_offs; + size_t seg_size; + // Despite tracking segments separately, we have a single mapping. + // The first segment stores that mapping size here; subsequent segments + // have 0 for this field. + size_t total_map_size; + bool is_external; // If true, the data is embedded in drmodtrack custom fields. +}; + +/** + * module_mapper_t maps and unloads application modules, as well as non-module + * instruction encodings (for raw traces, or if not present in the final trace). + * Using it assumes a dr_context has already been setup. + * This class is not thread-safe. + */ +class module_mapper_t { +public: + /** + * Parses and iterates over the list of modules. This is provided to give the user a + * method for iterating modules in the presence of the custom field used by drmemtrace + * that prevents direct use of drmodtrack_offline_read(). Its parsing of the module + * data will invoke \p parse_cb, which should advance the module data pointer passed + * in \p src and return it as its return value (or nullptr on error), returning + * the resulting parsed data in \p data. The \p data pointer will afterwards be + * passed to both \p process_cb, which can update the module path inside \p info + * (and return a non-empty string on error), and \b free_cb, which can perform + * cleanup. + * + * The callbacks will only be called during object construction. + * + * Additionally parses the non-module instruction encodings file if 'encoding_file' + * is not nullptr. + * + * On success, calls the \p process_cb function for every module in the list. + * On failure, get_last_error() is non-empty, and indicates the cause. + */ + static std::unique_ptr + create(const char *module_map, + const char *(*parse_cb)(const char *src, DR_PARAM_OUT void **data) = nullptr, + std::string (*process_cb)(drmodtrack_info_t *info, void *data, + void *user_data) = nullptr, + void *process_cb_user_data = nullptr, void (*free_cb)(void *data) = nullptr, + uint verbosity = 0, const std::string &alt_module_dir = "", + file_t encoding_file = INVALID_FILE) + { + return std::unique_ptr( + new module_mapper_t(module_map, parse_cb, process_cb, process_cb_user_data, + free_cb, verbosity, alt_module_dir, encoding_file)); + } + + /** + * All APIs on this type, including constructor, may fail. get_last_error() returns + * the last error message. The object should be considered unusable if + * !get_last_error().empty(). + */ + std::string + get_last_error(void) const + { + return last_error_; + } + + /** + * module_t vector corresponding to the application modules. Lazily loads and caches + * modules. If the object is invalid, returns an empty vector. The user may check + * get_last_error() to ensure no error has occurred, or get the applicable error + * message. + */ + virtual const std::vector & + get_loaded_modules() + { + if (last_error_.empty() && modvec_.empty()) + read_and_map_modules(); + return modvec_; + } + + app_pc + get_orig_pc_from_map_pc(app_pc map_pc, uint64 modidx, uint64 modoffs) const + { + if (modidx == PC_MODIDX_INVALID) { + uint64 blockidx = 0; + uint64 blockoffs = 0; + convert_modoffs_to_non_mod_block(modoffs, blockidx, blockoffs); + auto const it = encodings_.find(blockidx); + if (it == encodings_.end()) + return nullptr; + encoding_entry_t *entry = it->second; + return (map_pc - entry->encodings) + + reinterpret_cast(entry->start_pc); + } else { + size_t idx = static_cast(modidx); // Avoid win32 warnings. + app_pc res = map_pc - modvec_[idx].map_seg_base + modvec_[idx].orig_seg_base; +#ifdef ARM + // Match Thumb vs Arm mode by setting LSB. + if (TESTANY(1, modoffs)) + res = reinterpret_cast(reinterpret_cast(res) | 1); +#endif + return res; + } + } + + app_pc + get_orig_pc(uint64 modidx, uint64 modoffs) const + { + if (modidx == PC_MODIDX_INVALID) { + uint64 blockidx = 0; + uint64 blockoffs = 0; + convert_modoffs_to_non_mod_block(modoffs, blockidx, blockoffs); + auto const it = encodings_.find(blockidx); + if (it == encodings_.end()) + return nullptr; + encoding_entry_t *entry = it->second; + return reinterpret_cast(entry->start_pc + blockoffs); + } else { + size_t idx = static_cast(modidx); // Avoid win32 warnings. + // Cast to unsigned pointer-sized int first to avoid sign-extending. + return reinterpret_cast( + reinterpret_cast(modvec_[idx].orig_seg_base)) + + (modoffs - modvec_[idx].seg_offs); + } + } + + app_pc + get_map_pc(uint64 modidx, uint64 modoffs) const + { + if (modidx == PC_MODIDX_INVALID) { + uint64 blockidx = 0; + uint64 blockoffs = 0; + convert_modoffs_to_non_mod_block(modoffs, blockidx, blockoffs); + auto const it = encodings_.find(blockidx); + if (it == encodings_.end()) + return nullptr; + encoding_entry_t *entry = it->second; + return &entry->encodings[blockoffs]; + } else { + size_t idx = static_cast(modidx); // Avoid win32 warnings. + return modvec_[idx].map_seg_base + (modoffs - modvec_[idx].seg_offs); + } + } + + /** + * This interface is meant to be used with a final trace rather than a raw + * trace, using the module log file saved from the raw2trace conversion. + * After a call to get_loaded_modules(), this routine may be used + * to convert an instruction program counter in a trace into an address in the + * current process where the instruction bytes for that instruction are mapped, + * allowing decoding for obtaining further information than is stored in the trace. + * This interface only supports code inside modules; generated code is + * expected to have instruction encodings in the trace itself. + * Returns the mapped address. Check get_last_error_() if an error occurred. + */ + app_pc + find_mapped_trace_address(app_pc trace_address); + + /** + * This is identical to find_mapped_trace_address() but it also returns the + * bounds of the containing region, allowing the caller to perform its own + * mapping for any address that is also within those bounds. + */ + app_pc + find_mapped_trace_bounds(app_pc trace_address, DR_PARAM_OUT app_pc *module_start, + DR_PARAM_OUT size_t *module_size); + + /** + * Unload modules loaded with read_and_map_modules(), freeing associated resources. + */ + virtual ~module_mapper_t(); + + /** + * Writes out the module list to \p buf, whose capacity is \p buf_size. + * The written data includes any modifications made by the \p process_cb + * passed to create(). Any custom data returned by the \p parse_cb passed to + * create() is passed to \p print_cb here for serialization. The \p print_cb + * must return the number of characters printed or -1 on error. + */ + drcovlib_status_t + write_module_data(char *buf, size_t buf_size, + int (*print_cb)(void *data, char *dst, size_t max_len), + DR_PARAM_OUT size_t *wrote); + +protected: + module_mapper_t(const char *module_map, + const char *(*parse_cb)(const char *src, + DR_PARAM_OUT void **data) = nullptr, + std::string (*process_cb)(drmodtrack_info_t *info, void *data, + void *user_data) = nullptr, + void *process_cb_user_data = nullptr, + void (*free_cb)(void *data) = nullptr, uint verbosity = 0, + const std::string &alt_module_dir = "", + file_t encoding_file = INVALID_FILE); + + module_mapper_t(const module_mapper_t &) = delete; + module_mapper_t & + operator=(const module_mapper_t &) = delete; +#ifndef WINDOWS + module_mapper_t(module_mapper_t &&) = delete; + module_mapper_t & + operator=(module_mapper_t &&) = delete; +#endif + // We store this in drmodtrack_info_t.custom to combine our binary contents + // data with any user-added module data from drmemtrace_custom_module_data. + struct custom_module_data_t { + size_t contents_size; + const char *contents; + void *user_data; + }; + + void + convert_modoffs_to_non_mod_block(uint64 modoffs, uint64 &blockidx, + uint64 &blockoffs) const + { + if (!separate_non_mod_instrs_) { + blockidx = modoffs; + blockoffs = 0; + return; + } + auto it = cum_block_enc_len_to_encoding_id_.upper_bound(modoffs); + // Since modoffs >= 0 and the smallest key in cum_block_enc_len_to_encoding_id_ is + // always zero, `it` should never be the first element of the map. + DR_ASSERT(it != cum_block_enc_len_to_encoding_id_.begin()); + auto it_prev = it; + it_prev--; + DR_ASSERT(it_prev->first <= modoffs && + (it == cum_block_enc_len_to_encoding_id_.end() || it->first > modoffs)); + blockidx = it_prev->second; + blockoffs = modoffs - it_prev->first; + } + + virtual void + read_and_map_modules(void); + + std::string + do_module_parsing(); + + std::string + do_encoding_parsing(); + + const char *modmap_ = nullptr; + void *modhandle_ = nullptr; + std::vector modvec_; + void (*const cached_user_free_)(void *data) = nullptr; + + // Custom module fields that use drmodtrack are global. + static const char *(*user_parse_)(const char *src, DR_PARAM_OUT void **data); + static void (*user_free_)(void *data); + static int (*user_print_)(void *data, char *dst, size_t max_len); + static const char * + parse_custom_module_data(const char *src, DR_PARAM_OUT void **data); + static int + print_custom_module_data(void *data, char *dst, size_t max_len); + static void + free_custom_module_data(void *data); + static bool has_custom_data_global_; + + bool has_custom_data_ = false; + + // We store module info for do_module_parsing. + std::vector modlist_; + std::string (*user_process_)(drmodtrack_info_t *info, void *data, + void *user_data) = nullptr; + void *user_process_data_ = nullptr; + app_pc last_orig_base_ = 0; + size_t last_map_size_ = 0; + byte *last_map_base_ = nullptr; + bool separate_non_mod_instrs_ = false; + std::map cum_block_enc_len_to_encoding_id_; + + uint verbosity_ = 0; + std::string alt_module_dir_; + std::string last_error_; + + file_t encoding_file_ = INVALID_FILE; + std::unordered_map encodings_; +}; + +int +print_module_data_fields(char *dst, size_t max_len, const void *custom_data, + size_t custom_size, + int (*user_print_cb)(void *data, char *dst, size_t max_len), + void *user_cb_data); + +/** + * Subclasses module_mapper_t and replaces the module loading with a buffer + * of encoded instr_t. Useful for tests where we want to mock the module + * files with an in-memory buffer of instrs. + */ +class test_module_mapper_t : public module_mapper_t { +public: + test_module_mapper_t(instrlist_t *instrs, void *drcontext) + : module_mapper_t(nullptr) + { + // We encode for 1-based addresses for simpler tests with low values while + // avoiding null pointer manipulation complaints (xref i#6196). + byte *pc = instrlist_encode_to_copy( + drcontext, instrs, decode_buf_, + reinterpret_cast(static_cast(4)), nullptr, true); + DR_ASSERT(pc != nullptr); + DR_ASSERT(pc - decode_buf_ < MAX_DECODE_SIZE); + // Clear do_module_parsing error; we can't cleanly make virtual b/c it's + // called from the constructor. + last_error_ = ""; + } + +protected: + void + read_and_map_modules() override + { + modvec_.push_back(module_t("fake_exe", 0, decode_buf_, 0, MAX_DECODE_SIZE, + MAX_DECODE_SIZE, true)); + } + +private: + static const int MAX_DECODE_SIZE = 1024; + byte decode_buf_[MAX_DECODE_SIZE]; +}; + } // namespace drmemtrace } // namespace dynamorio From 0afb19d1cb98937aece626c3f935fe2918c92276 Mon Sep 17 00:00:00 2001 From: Abhinav Anil Sharma Date: Thu, 12 Dec 2024 11:49:42 -0500 Subject: [PATCH 06/13] i#2154 android64: Fix a build warning in cmake config (#7126) Fixes a build warning due to mis-matching arguments in cmake if() and endif(). Issue: #2154 --- make/DynamoRIOConfig.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make/DynamoRIOConfig.cmake.in b/make/DynamoRIOConfig.cmake.in index d7597d86e93..0a76e94fd36 100755 --- a/make/DynamoRIOConfig.cmake.in +++ b/make/DynamoRIOConfig.cmake.in @@ -1039,7 +1039,7 @@ function (configure_DynamoRIO_client target) # -dT is preferred, available on ld 2.18+: we could check for it set(LD_SCRIPT_OPTION "-T") set(PREFERRED_BASE_FLAGS "-Xlinker ${LD_SCRIPT_OPTION} -Xlinker \"${LD_SCRIPT}\"") - endif (LINKER_IS_GNU_GOLD) + endif (LINKER_IS_GNU_GOLD OR LINKER_IS_LLVM_LLD) else (APPLE) set(PREFERRED_BASE_FLAGS "/base:${PREFERRED_BASE} /dynamicbase:no") endif (APPLE) From f893bd7bbf953c2af443a50f12f195eea0d42493 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Fri, 13 Dec 2024 06:36:13 +0800 Subject: [PATCH 07/13] Fix operand order for vpexpandd/vpexpandq. (#7125) These appear to have been backwards since they were originally introduced in a9ddaf2dfbb6a5ce264c041c938c91e6ddc7fca9. --- api/docs/release.dox | 2 + core/ir/x86/decode_table.c | 4 +- .../tests/api/ir_x86_3args_avx512_evex_mask.h | 72 ++-- .../test_decenc/drdecode_decenc_x86.expect | 256 ++++++------- .../test_decenc/drdecode_decenc_x86_64.expect | 336 +++++++++--------- 5 files changed, 336 insertions(+), 334 deletions(-) diff --git a/api/docs/release.dox b/api/docs/release.dox index 5359fe8d8d3..a0333e528e6 100644 --- a/api/docs/release.dox +++ b/api/docs/release.dox @@ -143,6 +143,8 @@ Further non-compatibility-affecting changes include: - Added the AArch64 FPMR register as DR_REG_FPMR. - Added OPSZ_addr which chooses the appropriate operand size on X86 from 2/4/8 based on the 32/64 bit mode and the presence or absence of the address size prefix. + - Fixed the order of operands for the vpexpandd/vpexpandq opcodes (previously the + source and destination operands were reversed). **************************************************
diff --git a/core/ir/x86/decode_table.c b/core/ir/x86/decode_table.c index f4edad2003d..4c7d1d869e9 100644 --- a/core/ir/x86/decode_table.c +++ b/core/ir/x86/decode_table.c @@ -8995,9 +8995,9 @@ const instr_info_t evex_Wb_extensions[][4] = { {OP_vpcompressq, 0x66388b48, catSIMD, "vpcompressq", We, xx, KEb, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388b58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, }, { /* evex_W_ext 168 */ - {OP_vpexpandd, 0x66388908, catSIMD, "vpexpandd", We, xx, KEw, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, + {OP_vpexpandd, 0x66388908, catSIMD, "vpexpandd", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - {OP_vpexpandq, 0x66388948, catSIMD, "vpexpandq", We, xx, KEb, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, + {OP_vpexpandq, 0x66388948, catSIMD, "vpexpandq", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, }, { /* evex_W_ext 169 */ {OP_vptestmb, 0x66382608, catSIMD, "vptestmb", KPq, xx, KEq, He, We, mrm|evex|ttfvm, x, END_LIST}, diff --git a/suite/tests/api/ir_x86_3args_avx512_evex_mask.h b/suite/tests/api/ir_x86_3args_avx512_evex_mask.h index ddcb1aa8fb6..b09f92cc2b0 100644 --- a/suite/tests/api/ir_x86_3args_avx512_evex_mask.h +++ b/suite/tests/api/ir_x86_3args_avx512_evex_mask.h @@ -2771,42 +2771,42 @@ OPCODE(vpcompressq_zlok0zlo, vpcompressq, vpcompressq_mask, 0, REGARG(ZMM1), REG REGARG(ZMM0)) OPCODE(vpcompressq_zhik7zhi, vpcompressq, vpcompressq_mask, X64_ONLY, REGARG(ZMM31), REGARG(K7), REGARG(ZMM16)) -OPCODE(vpexpandd_xlok0st, vpexpandd, vpexpandd_mask, 0, MEMARG(OPSZ_16), REGARG(K0), - REGARG(XMM0)) -OPCODE(vpexpandd_xlok0xlo, vpexpandd, vpexpandd_mask, 0, REGARG(XMM1), REGARG(K0), - REGARG(XMM0)) -OPCODE(vpexpandd_xhik7xhi, vpexpandd, vpexpandd_mask, X64_ONLY, REGARG(XMM31), REGARG(K7), - REGARG(XMM16)) -OPCODE(vpexpandd_ylok0st, vpexpandd, vpexpandd_mask, 0, MEMARG(OPSZ_32), REGARG(K0), - REGARG(YMM0)) -OPCODE(vpexpandd_ylok0ylo, vpexpandd, vpexpandd_mask, 0, REGARG(YMM1), REGARG(K0), - REGARG(YMM0)) -OPCODE(vpexpandd_yhik7yhi, vpexpandd, vpexpandd_mask, X64_ONLY, REGARG(YMM31), REGARG(K7), - REGARG(YMM16)) -OPCODE(vpexpandd_zlok0st, vpexpandd, vpexpandd_mask, 0, MEMARG(OPSZ_64), REGARG(K0), - REGARG(ZMM0)) -OPCODE(vpexpandd_zlok0zlo, vpexpandd, vpexpandd_mask, 0, REGARG(ZMM1), REGARG(K0), - REGARG(ZMM0)) -OPCODE(vpexpandd_zhik7zhi, vpexpandd, vpexpandd_mask, X64_ONLY, REGARG(ZMM31), REGARG(K7), - REGARG(ZMM16)) -OPCODE(vpexpandq_xlok0st, vpexpandq, vpexpandq_mask, 0, MEMARG(OPSZ_16), REGARG(K0), - REGARG(XMM0)) -OPCODE(vpexpandq_xlok0xlo, vpexpandq, vpexpandq_mask, 0, REGARG(XMM1), REGARG(K0), - REGARG(XMM0)) -OPCODE(vpexpandq_xhik7xhi, vpexpandq, vpexpandq_mask, X64_ONLY, REGARG(XMM31), REGARG(K7), - REGARG(XMM16)) -OPCODE(vpexpandq_ylok0st, vpexpandq, vpexpandq_mask, 0, MEMARG(OPSZ_32), REGARG(K0), - REGARG(YMM0)) -OPCODE(vpexpandq_ylok0ylo, vpexpandq, vpexpandq_mask, 0, REGARG(YMM1), REGARG(K0), - REGARG(YMM0)) -OPCODE(vpexpandq_yhik7yhi, vpexpandq, vpexpandq_mask, X64_ONLY, REGARG(YMM31), REGARG(K7), - REGARG(YMM16)) -OPCODE(vpexpandq_zlok0st, vpexpandq, vpexpandq_mask, 0, MEMARG(OPSZ_64), REGARG(K0), - REGARG(ZMM0)) -OPCODE(vpexpandq_zlok0zlo, vpexpandq, vpexpandq_mask, 0, REGARG(ZMM1), REGARG(K0), - REGARG(ZMM0)) -OPCODE(vpexpandq_zhik7zhi, vpexpandq, vpexpandq_mask, X64_ONLY, REGARG(ZMM31), REGARG(K7), - REGARG(ZMM16)) +OPCODE(vpexpandd_xlok0ld, vpexpandd, vpexpandd_mask, 0, REGARG(XMM0), REGARG(K0), + MEMARG(OPSZ_16)) +OPCODE(vpexpandd_xlok0xlo, vpexpandd, vpexpandd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1)) +OPCODE(vpexpandd_xhik7xhi, vpexpandd, vpexpandd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + REGARG(XMM31)) +OPCODE(vpexpandd_ylok0ld, vpexpandd, vpexpandd_mask, 0, REGARG(YMM0), REGARG(K0), + MEMARG(OPSZ_32)) +OPCODE(vpexpandd_ylok0ylo, vpexpandd, vpexpandd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1)) +OPCODE(vpexpandd_yhik7yhi, vpexpandd, vpexpandd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + REGARG(YMM31)) +OPCODE(vpexpandd_zlok0ld, vpexpandd, vpexpandd_mask, 0, REGARG(ZMM0), REGARG(K0), + MEMARG(OPSZ_64)) +OPCODE(vpexpandd_zlok0zlo, vpexpandd, vpexpandd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1)) +OPCODE(vpexpandd_zhik7zhi, vpexpandd, vpexpandd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + REGARG(ZMM31)) +OPCODE(vpexpandq_xlok0ld, vpexpandq, vpexpandq_mask, 0, REGARG(XMM0), REGARG(K0), + MEMARG(OPSZ_16)) +OPCODE(vpexpandq_xlok0xlo, vpexpandq, vpexpandq_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1)) +OPCODE(vpexpandq_xhik7xhi, vpexpandq, vpexpandq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + REGARG(XMM31)) +OPCODE(vpexpandq_ylok0ld, vpexpandq, vpexpandq_mask, 0, REGARG(YMM0), REGARG(K0), + MEMARG(OPSZ_32)) +OPCODE(vpexpandq_ylok0ylo, vpexpandq, vpexpandq_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1)) +OPCODE(vpexpandq_yhik7yhi, vpexpandq, vpexpandq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + REGARG(YMM31)) +OPCODE(vpexpandq_zlok0ld, vpexpandq, vpexpandq_mask, 0, REGARG(ZMM0), REGARG(K0), + MEMARG(OPSZ_64)) +OPCODE(vpexpandq_zlok0zlo, vpexpandq, vpexpandq_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1)) +OPCODE(vpexpandq_zhik7zhi, vpexpandq, vpexpandq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + REGARG(ZMM31)) OPCODE(vrsqrt14ps_xlok0ld, vrsqrt14ps, vrsqrt14ps_mask, 0, REGARG(XMM0), REGARG(K0), MEMARG(OPSZ_16)) OPCODE(vrsqrt14ps_xlok0bcst, vrsqrt14ps, vrsqrt14ps_mask, 0, REGARG(XMM0), REGARG(K0), diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect index 8e0b22db62a..c9fee1334ef 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect @@ -104419,34 +104419,34 @@ test_s: 7b 62 f3 fd 58 00 b2 f8 vpermq -0x00000408(%edx), $0x7b, %zmm6 {%k0} fb ff ff 7b - 62 f2 7d 48 89 31 vpexpandd %zmm6, (%ecx) {%k0} - 62 f2 7d 4f 89 31 vpexpandd %zmm6, (%ecx) {%k7} - 62 f2 7d cf 89 31 vpexpandd %zmm6, (%ecx) {%k7} - 62 f2 7d 48 89 b4 f4 vpexpandd %zmm6, -0x0001e240(%esp,%esi,8) {%k0} - c0 1d fe ff - 62 f2 7d 48 89 72 7f vpexpandd %zmm6, 0x000001fc(%edx) {%k0} - 62 f2 7d 48 89 b2 00 vpexpandd %zmm6, 0x00000200(%edx) {%k0} - 02 00 00 - 62 f2 7d 48 89 72 80 vpexpandd %zmm6, -0x00000200(%edx) {%k0} - 62 f2 7d 48 89 b2 fc vpexpandd %zmm6, -0x00000204(%edx) {%k0} - fd ff ff - 62 f2 7d 48 89 f5 vpexpandd %zmm6, %zmm5 {%k0} - 62 f2 7d 4f 89 f5 vpexpandd %zmm6, %zmm5 {%k7} - 62 f2 7d cf 89 f5 vpexpandd %zmm6, %zmm5 {%k7} - 62 f2 fd 48 89 31 vpexpandq %zmm6, (%ecx) {%k0} - 62 f2 fd 4f 89 31 vpexpandq %zmm6, (%ecx) {%k7} - 62 f2 fd cf 89 31 vpexpandq %zmm6, (%ecx) {%k7} - 62 f2 fd 48 89 b4 f4 vpexpandq %zmm6, -0x0001e240(%esp,%esi,8) {%k0} - c0 1d fe ff - 62 f2 fd 48 89 72 7f vpexpandq %zmm6, 0x000003f8(%edx) {%k0} - 62 f2 fd 48 89 b2 00 vpexpandq %zmm6, 0x00000400(%edx) {%k0} - 04 00 00 - 62 f2 fd 48 89 72 80 vpexpandq %zmm6, -0x00000400(%edx) {%k0} - 62 f2 fd 48 89 b2 f8 vpexpandq %zmm6, -0x00000408(%edx) {%k0} - fb ff ff - 62 f2 fd 48 89 f5 vpexpandq %zmm6, %zmm5 {%k0} - 62 f2 fd 4f 89 f5 vpexpandq %zmm6, %zmm5 {%k7} - 62 f2 fd cf 89 f5 vpexpandq %zmm6, %zmm5 {%k7} + 62 f2 7d 48 89 31 vpexpandd (%ecx), %zmm6 {%k0} + 62 f2 7d 4f 89 31 vpexpandd (%ecx), %zmm6 {%k7} + 62 f2 7d cf 89 31 vpexpandd (%ecx), %zmm6 {%k7} + 62 f2 7d 48 89 b4 f4 vpexpandd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 48 89 72 7f vpexpandd 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 48 89 b2 00 vpexpandd 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 48 89 72 80 vpexpandd -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 48 89 b2 fc vpexpandd -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 7d 48 89 f5 vpexpandd %zmm5, %zmm6 {%k0} + 62 f2 7d 4f 89 f5 vpexpandd %zmm5, %zmm6 {%k7} + 62 f2 7d cf 89 f5 vpexpandd %zmm5, %zmm6 {%k7} + 62 f2 fd 48 89 31 vpexpandq (%ecx), %zmm6 {%k0} + 62 f2 fd 4f 89 31 vpexpandq (%ecx), %zmm6 {%k7} + 62 f2 fd cf 89 31 vpexpandq (%ecx), %zmm6 {%k7} + 62 f2 fd 48 89 b4 f4 vpexpandq -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 48 89 72 7f vpexpandq 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 48 89 b2 00 vpexpandq 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 48 89 72 80 vpexpandq -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 48 89 b2 f8 vpexpandq -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 fd 48 89 f5 vpexpandq %zmm5, %zmm6 {%k0} + 62 f2 fd 4f 89 f5 vpexpandq %zmm5, %zmm6 {%k7} + 62 f2 fd cf 89 f5 vpexpandq %zmm5, %zmm6 {%k7} 62 f2 7d 49 90 b4 fd vpgatherdd 0x0000007b(%ebp,%zmm7,8), %zmm6 {%k1} {%k1} 7b 00 00 00 62 f2 7d 49 90 b4 fd vpgatherdd 0x0000007b(%ebp,%zmm7,8), %zmm6 {%k1} {%k1} @@ -114138,34 +114138,34 @@ test_s: 7b 62 f3 fd 58 00 b2 f8 vpermq -0x00000408(%edx), $0x7b, %zmm6 {%k0} fb ff ff 7b - 62 f2 7d 48 89 31 vpexpandd %zmm6, (%ecx) {%k0} - 62 f2 7d 4f 89 31 vpexpandd %zmm6, (%ecx) {%k7} - 62 f2 7d cf 89 31 vpexpandd %zmm6, (%ecx) {%k7} - 62 f2 7d 48 89 b4 f4 vpexpandd %zmm6, -0x0001e240(%esp,%esi,8) {%k0} - c0 1d fe ff - 62 f2 7d 48 89 72 7f vpexpandd %zmm6, 0x000001fc(%edx) {%k0} - 62 f2 7d 48 89 b2 00 vpexpandd %zmm6, 0x00000200(%edx) {%k0} - 02 00 00 - 62 f2 7d 48 89 72 80 vpexpandd %zmm6, -0x00000200(%edx) {%k0} - 62 f2 7d 48 89 b2 fc vpexpandd %zmm6, -0x00000204(%edx) {%k0} - fd ff ff - 62 f2 7d 48 89 f5 vpexpandd %zmm6, %zmm5 {%k0} - 62 f2 7d 4f 89 f5 vpexpandd %zmm6, %zmm5 {%k7} - 62 f2 7d cf 89 f5 vpexpandd %zmm6, %zmm5 {%k7} - 62 f2 fd 48 89 31 vpexpandq %zmm6, (%ecx) {%k0} - 62 f2 fd 4f 89 31 vpexpandq %zmm6, (%ecx) {%k7} - 62 f2 fd cf 89 31 vpexpandq %zmm6, (%ecx) {%k7} - 62 f2 fd 48 89 b4 f4 vpexpandq %zmm6, -0x0001e240(%esp,%esi,8) {%k0} - c0 1d fe ff - 62 f2 fd 48 89 72 7f vpexpandq %zmm6, 0x000003f8(%edx) {%k0} - 62 f2 fd 48 89 b2 00 vpexpandq %zmm6, 0x00000400(%edx) {%k0} - 04 00 00 - 62 f2 fd 48 89 72 80 vpexpandq %zmm6, -0x00000400(%edx) {%k0} - 62 f2 fd 48 89 b2 f8 vpexpandq %zmm6, -0x00000408(%edx) {%k0} - fb ff ff - 62 f2 fd 48 89 f5 vpexpandq %zmm6, %zmm5 {%k0} - 62 f2 fd 4f 89 f5 vpexpandq %zmm6, %zmm5 {%k7} - 62 f2 fd cf 89 f5 vpexpandq %zmm6, %zmm5 {%k7} + 62 f2 7d 48 89 31 vpexpandd (%ecx), %zmm6 {%k0} + 62 f2 7d 4f 89 31 vpexpandd (%ecx), %zmm6 {%k7} + 62 f2 7d cf 89 31 vpexpandd (%ecx), %zmm6 {%k7} + 62 f2 7d 48 89 b4 f4 vpexpandd -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 48 89 72 7f vpexpandd 0x000001fc(%edx), %zmm6 {%k0} + 62 f2 7d 48 89 b2 00 vpexpandd 0x00000200(%edx), %zmm6 {%k0} + 02 00 00 + 62 f2 7d 48 89 72 80 vpexpandd -0x00000200(%edx), %zmm6 {%k0} + 62 f2 7d 48 89 b2 fc vpexpandd -0x00000204(%edx), %zmm6 {%k0} + fd ff ff + 62 f2 7d 48 89 f5 vpexpandd %zmm5, %zmm6 {%k0} + 62 f2 7d 4f 89 f5 vpexpandd %zmm5, %zmm6 {%k7} + 62 f2 7d cf 89 f5 vpexpandd %zmm5, %zmm6 {%k7} + 62 f2 fd 48 89 31 vpexpandq (%ecx), %zmm6 {%k0} + 62 f2 fd 4f 89 31 vpexpandq (%ecx), %zmm6 {%k7} + 62 f2 fd cf 89 31 vpexpandq (%ecx), %zmm6 {%k7} + 62 f2 fd 48 89 b4 f4 vpexpandq -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 48 89 72 7f vpexpandq 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 fd 48 89 b2 00 vpexpandq 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 fd 48 89 72 80 vpexpandq -0x00000400(%edx), %zmm6 {%k0} + 62 f2 fd 48 89 b2 f8 vpexpandq -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 62 f2 fd 48 89 f5 vpexpandq %zmm5, %zmm6 {%k0} + 62 f2 fd 4f 89 f5 vpexpandq %zmm5, %zmm6 {%k7} + 62 f2 fd cf 89 f5 vpexpandq %zmm5, %zmm6 {%k7} 62 f2 7d 49 90 b4 fd vpgatherdd -0x0000007b(%ebp,%zmm7,8), %zmm6 {%k1} {%k1} 85 ff ff ff 62 f2 7d 49 90 b4 fd vpgatherdd -0x0000007b(%ebp,%zmm7,8), %zmm6 {%k1} {%k1} @@ -121570,54 +121570,54 @@ test_s: 7b 62 f3 fd 3f 00 b2 f8 vpermq -0x00000408(%edx), $0x7b, %ymm6 {%k7} fb ff ff 7b - 62 f2 7d 0f 89 31 vpexpandd %xmm6, (%ecx) {%k7} - 62 f2 7d 8f 89 31 vpexpandd %xmm6, (%ecx) {%k7} - 62 f2 7d 0f 89 b4 f4 vpexpandd %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 7d 0f 89 31 vpexpandd (%ecx), %xmm6 {%k7} + 62 f2 7d 8f 89 31 vpexpandd (%ecx), %xmm6 {%k7} + 62 f2 7d 0f 89 b4 f4 vpexpandd -0x0001e240(%esp,%esi,8), %xmm6 {%k7} c0 1d fe ff - 62 f2 7d 0f 89 72 7f vpexpandd %xmm6, 0x000001fc(%edx) {%k7} - 62 f2 7d 0f 89 b2 00 vpexpandd %xmm6, 0x00000200(%edx) {%k7} + 62 f2 7d 0f 89 72 7f vpexpandd 0x000001fc(%edx), %xmm6 {%k7} + 62 f2 7d 0f 89 b2 00 vpexpandd 0x00000200(%edx), %xmm6 {%k7} 02 00 00 - 62 f2 7d 0f 89 72 80 vpexpandd %xmm6, -0x00000200(%edx) {%k7} - 62 f2 7d 0f 89 b2 fc vpexpandd %xmm6, -0x00000204(%edx) {%k7} + 62 f2 7d 0f 89 72 80 vpexpandd -0x00000200(%edx), %xmm6 {%k7} + 62 f2 7d 0f 89 b2 fc vpexpandd -0x00000204(%edx), %xmm6 {%k7} fd ff ff - 62 f2 7d 2f 89 31 vpexpandd %ymm6, (%ecx) {%k7} - 62 f2 7d af 89 31 vpexpandd %ymm6, (%ecx) {%k7} - 62 f2 7d 2f 89 b4 f4 vpexpandd %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 7d 2f 89 31 vpexpandd (%ecx), %ymm6 {%k7} + 62 f2 7d af 89 31 vpexpandd (%ecx), %ymm6 {%k7} + 62 f2 7d 2f 89 b4 f4 vpexpandd -0x0001e240(%esp,%esi,8), %ymm6 {%k7} c0 1d fe ff - 62 f2 7d 2f 89 72 7f vpexpandd %ymm6, 0x000001fc(%edx) {%k7} - 62 f2 7d 2f 89 b2 00 vpexpandd %ymm6, 0x00000200(%edx) {%k7} + 62 f2 7d 2f 89 72 7f vpexpandd 0x000001fc(%edx), %ymm6 {%k7} + 62 f2 7d 2f 89 b2 00 vpexpandd 0x00000200(%edx), %ymm6 {%k7} 02 00 00 - 62 f2 7d 2f 89 72 80 vpexpandd %ymm6, -0x00000200(%edx) {%k7} - 62 f2 7d 2f 89 b2 fc vpexpandd %ymm6, -0x00000204(%edx) {%k7} + 62 f2 7d 2f 89 72 80 vpexpandd -0x00000200(%edx), %ymm6 {%k7} + 62 f2 7d 2f 89 b2 fc vpexpandd -0x00000204(%edx), %ymm6 {%k7} fd ff ff - 62 f2 7d 0f 89 f5 vpexpandd %xmm6, %xmm5 {%k7} - 62 f2 7d 8f 89 f5 vpexpandd %xmm6, %xmm5 {%k7} - 62 f2 7d 2f 89 f5 vpexpandd %ymm6, %ymm5 {%k7} - 62 f2 7d af 89 f5 vpexpandd %ymm6, %ymm5 {%k7} - 62 f2 fd 0f 89 31 vpexpandq %xmm6, (%ecx) {%k7} - 62 f2 fd 8f 89 31 vpexpandq %xmm6, (%ecx) {%k7} - 62 f2 fd 0f 89 b4 f4 vpexpandq %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 7d 0f 89 f5 vpexpandd %xmm5, %xmm6 {%k7} + 62 f2 7d 8f 89 f5 vpexpandd %xmm5, %xmm6 {%k7} + 62 f2 7d 2f 89 f5 vpexpandd %ymm5, %ymm6 {%k7} + 62 f2 7d af 89 f5 vpexpandd %ymm5, %ymm6 {%k7} + 62 f2 fd 0f 89 31 vpexpandq (%ecx), %xmm6 {%k7} + 62 f2 fd 8f 89 31 vpexpandq (%ecx), %xmm6 {%k7} + 62 f2 fd 0f 89 b4 f4 vpexpandq -0x0001e240(%esp,%esi,8), %xmm6 {%k7} c0 1d fe ff - 62 f2 fd 0f 89 72 7f vpexpandq %xmm6, 0x000003f8(%edx) {%k7} - 62 f2 fd 0f 89 b2 00 vpexpandq %xmm6, 0x00000400(%edx) {%k7} + 62 f2 fd 0f 89 72 7f vpexpandq 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 fd 0f 89 b2 00 vpexpandq 0x00000400(%edx), %xmm6 {%k7} 04 00 00 - 62 f2 fd 0f 89 72 80 vpexpandq %xmm6, -0x00000400(%edx) {%k7} - 62 f2 fd 0f 89 b2 f8 vpexpandq %xmm6, -0x00000408(%edx) {%k7} + 62 f2 fd 0f 89 72 80 vpexpandq -0x00000400(%edx), %xmm6 {%k7} + 62 f2 fd 0f 89 b2 f8 vpexpandq -0x00000408(%edx), %xmm6 {%k7} fb ff ff - 62 f2 fd 2f 89 31 vpexpandq %ymm6, (%ecx) {%k7} - 62 f2 fd af 89 31 vpexpandq %ymm6, (%ecx) {%k7} - 62 f2 fd 2f 89 b4 f4 vpexpandq %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 fd 2f 89 31 vpexpandq (%ecx), %ymm6 {%k7} + 62 f2 fd af 89 31 vpexpandq (%ecx), %ymm6 {%k7} + 62 f2 fd 2f 89 b4 f4 vpexpandq -0x0001e240(%esp,%esi,8), %ymm6 {%k7} c0 1d fe ff - 62 f2 fd 2f 89 72 7f vpexpandq %ymm6, 0x000003f8(%edx) {%k7} - 62 f2 fd 2f 89 b2 00 vpexpandq %ymm6, 0x00000400(%edx) {%k7} + 62 f2 fd 2f 89 72 7f vpexpandq 0x000003f8(%edx), %ymm6 {%k7} + 62 f2 fd 2f 89 b2 00 vpexpandq 0x00000400(%edx), %ymm6 {%k7} 04 00 00 - 62 f2 fd 2f 89 72 80 vpexpandq %ymm6, -0x00000400(%edx) {%k7} - 62 f2 fd 2f 89 b2 f8 vpexpandq %ymm6, -0x00000408(%edx) {%k7} + 62 f2 fd 2f 89 72 80 vpexpandq -0x00000400(%edx), %ymm6 {%k7} + 62 f2 fd 2f 89 b2 f8 vpexpandq -0x00000408(%edx), %ymm6 {%k7} fb ff ff - 62 f2 fd 0f 89 f5 vpexpandq %xmm6, %xmm5 {%k7} - 62 f2 fd 8f 89 f5 vpexpandq %xmm6, %xmm5 {%k7} - 62 f2 fd 2f 89 f5 vpexpandq %ymm6, %ymm5 {%k7} - 62 f2 fd af 89 f5 vpexpandq %ymm6, %ymm5 {%k7} + 62 f2 fd 0f 89 f5 vpexpandq %xmm5, %xmm6 {%k7} + 62 f2 fd 8f 89 f5 vpexpandq %xmm5, %xmm6 {%k7} + 62 f2 fd 2f 89 f5 vpexpandq %ymm5, %ymm6 {%k7} + 62 f2 fd af 89 f5 vpexpandq %ymm5, %ymm6 {%k7} 62 f2 7d 09 90 b4 fd vpgatherdd 0x0000007b(%ebp,%xmm7,8), %xmm6 {%k1} {%k1} 7b 00 00 00 62 f2 7d 09 90 74 38 vpgatherdd 0x40(%eax,%xmm7), %xmm6 {%k1} {%k1} @@ -129774,54 +129774,54 @@ test_s: 7b 62 f3 fd 3f 00 b2 f8 vpermq -0x00000408(%edx), $0x7b, %ymm6 {%k7} fb ff ff 7b - 62 f2 7d 0f 89 31 vpexpandd %xmm6, (%ecx) {%k7} - 62 f2 7d 8f 89 31 vpexpandd %xmm6, (%ecx) {%k7} - 62 f2 7d 0f 89 b4 f4 vpexpandd %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 7d 0f 89 31 vpexpandd (%ecx), %xmm6 {%k7} + 62 f2 7d 8f 89 31 vpexpandd (%ecx), %xmm6 {%k7} + 62 f2 7d 0f 89 b4 f4 vpexpandd -0x0001e240(%esp,%esi,8), %xmm6 {%k7} c0 1d fe ff - 62 f2 7d 0f 89 72 7f vpexpandd %xmm6, 0x000001fc(%edx) {%k7} - 62 f2 7d 0f 89 b2 00 vpexpandd %xmm6, 0x00000200(%edx) {%k7} + 62 f2 7d 0f 89 72 7f vpexpandd 0x000001fc(%edx), %xmm6 {%k7} + 62 f2 7d 0f 89 b2 00 vpexpandd 0x00000200(%edx), %xmm6 {%k7} 02 00 00 - 62 f2 7d 0f 89 72 80 vpexpandd %xmm6, -0x00000200(%edx) {%k7} - 62 f2 7d 0f 89 b2 fc vpexpandd %xmm6, -0x00000204(%edx) {%k7} + 62 f2 7d 0f 89 72 80 vpexpandd -0x00000200(%edx), %xmm6 {%k7} + 62 f2 7d 0f 89 b2 fc vpexpandd -0x00000204(%edx), %xmm6 {%k7} fd ff ff - 62 f2 7d 2f 89 31 vpexpandd %ymm6, (%ecx) {%k7} - 62 f2 7d af 89 31 vpexpandd %ymm6, (%ecx) {%k7} - 62 f2 7d 2f 89 b4 f4 vpexpandd %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 7d 2f 89 31 vpexpandd (%ecx), %ymm6 {%k7} + 62 f2 7d af 89 31 vpexpandd (%ecx), %ymm6 {%k7} + 62 f2 7d 2f 89 b4 f4 vpexpandd -0x0001e240(%esp,%esi,8), %ymm6 {%k7} c0 1d fe ff - 62 f2 7d 2f 89 72 7f vpexpandd %ymm6, 0x000001fc(%edx) {%k7} - 62 f2 7d 2f 89 b2 00 vpexpandd %ymm6, 0x00000200(%edx) {%k7} + 62 f2 7d 2f 89 72 7f vpexpandd 0x000001fc(%edx), %ymm6 {%k7} + 62 f2 7d 2f 89 b2 00 vpexpandd 0x00000200(%edx), %ymm6 {%k7} 02 00 00 - 62 f2 7d 2f 89 72 80 vpexpandd %ymm6, -0x00000200(%edx) {%k7} - 62 f2 7d 2f 89 b2 fc vpexpandd %ymm6, -0x00000204(%edx) {%k7} + 62 f2 7d 2f 89 72 80 vpexpandd -0x00000200(%edx), %ymm6 {%k7} + 62 f2 7d 2f 89 b2 fc vpexpandd -0x00000204(%edx), %ymm6 {%k7} fd ff ff - 62 f2 7d 0f 89 f5 vpexpandd %xmm6, %xmm5 {%k7} - 62 f2 7d 8f 89 f5 vpexpandd %xmm6, %xmm5 {%k7} - 62 f2 7d 2f 89 f5 vpexpandd %ymm6, %ymm5 {%k7} - 62 f2 7d af 89 f5 vpexpandd %ymm6, %ymm5 {%k7} - 62 f2 fd 0f 89 31 vpexpandq %xmm6, (%ecx) {%k7} - 62 f2 fd 8f 89 31 vpexpandq %xmm6, (%ecx) {%k7} - 62 f2 fd 0f 89 b4 f4 vpexpandq %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 7d 0f 89 f5 vpexpandd %xmm5, %xmm6 {%k7} + 62 f2 7d 8f 89 f5 vpexpandd %xmm5, %xmm6 {%k7} + 62 f2 7d 2f 89 f5 vpexpandd %ymm5, %ymm6 {%k7} + 62 f2 7d af 89 f5 vpexpandd %ymm5, %ymm6 {%k7} + 62 f2 fd 0f 89 31 vpexpandq (%ecx), %xmm6 {%k7} + 62 f2 fd 8f 89 31 vpexpandq (%ecx), %xmm6 {%k7} + 62 f2 fd 0f 89 b4 f4 vpexpandq -0x0001e240(%esp,%esi,8), %xmm6 {%k7} c0 1d fe ff - 62 f2 fd 0f 89 72 7f vpexpandq %xmm6, 0x000003f8(%edx) {%k7} - 62 f2 fd 0f 89 b2 00 vpexpandq %xmm6, 0x00000400(%edx) {%k7} + 62 f2 fd 0f 89 72 7f vpexpandq 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 fd 0f 89 b2 00 vpexpandq 0x00000400(%edx), %xmm6 {%k7} 04 00 00 - 62 f2 fd 0f 89 72 80 vpexpandq %xmm6, -0x00000400(%edx) {%k7} - 62 f2 fd 0f 89 b2 f8 vpexpandq %xmm6, -0x00000408(%edx) {%k7} + 62 f2 fd 0f 89 72 80 vpexpandq -0x00000400(%edx), %xmm6 {%k7} + 62 f2 fd 0f 89 b2 f8 vpexpandq -0x00000408(%edx), %xmm6 {%k7} fb ff ff - 62 f2 fd 2f 89 31 vpexpandq %ymm6, (%ecx) {%k7} - 62 f2 fd af 89 31 vpexpandq %ymm6, (%ecx) {%k7} - 62 f2 fd 2f 89 b4 f4 vpexpandq %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + 62 f2 fd 2f 89 31 vpexpandq (%ecx), %ymm6 {%k7} + 62 f2 fd af 89 31 vpexpandq (%ecx), %ymm6 {%k7} + 62 f2 fd 2f 89 b4 f4 vpexpandq -0x0001e240(%esp,%esi,8), %ymm6 {%k7} c0 1d fe ff - 62 f2 fd 2f 89 72 7f vpexpandq %ymm6, 0x000003f8(%edx) {%k7} - 62 f2 fd 2f 89 b2 00 vpexpandq %ymm6, 0x00000400(%edx) {%k7} + 62 f2 fd 2f 89 72 7f vpexpandq 0x000003f8(%edx), %ymm6 {%k7} + 62 f2 fd 2f 89 b2 00 vpexpandq 0x00000400(%edx), %ymm6 {%k7} 04 00 00 - 62 f2 fd 2f 89 72 80 vpexpandq %ymm6, -0x00000400(%edx) {%k7} - 62 f2 fd 2f 89 b2 f8 vpexpandq %ymm6, -0x00000408(%edx) {%k7} + 62 f2 fd 2f 89 72 80 vpexpandq -0x00000400(%edx), %ymm6 {%k7} + 62 f2 fd 2f 89 b2 f8 vpexpandq -0x00000408(%edx), %ymm6 {%k7} fb ff ff - 62 f2 fd 0f 89 f5 vpexpandq %xmm6, %xmm5 {%k7} - 62 f2 fd 8f 89 f5 vpexpandq %xmm6, %xmm5 {%k7} - 62 f2 fd 2f 89 f5 vpexpandq %ymm6, %ymm5 {%k7} - 62 f2 fd af 89 f5 vpexpandq %ymm6, %ymm5 {%k7} + 62 f2 fd 0f 89 f5 vpexpandq %xmm5, %xmm6 {%k7} + 62 f2 fd 8f 89 f5 vpexpandq %xmm5, %xmm6 {%k7} + 62 f2 fd 2f 89 f5 vpexpandq %ymm5, %ymm6 {%k7} + 62 f2 fd af 89 f5 vpexpandq %ymm5, %ymm6 {%k7} 62 f2 7d 09 90 b4 fd vpgatherdd -0x0000007b(%ebp,%xmm7,8), %xmm6 {%k1} {%k1} 85 ff ff ff 62 f2 7d 09 90 74 38 vpgatherdd 0x40(%eax,%xmm7), %xmm6 {%k1} {%k1} diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect index 23be72d66c6..4bf56b4a61d 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect @@ -65700,34 +65700,34 @@ test_x86_64_s: 7b 62 63 fd 58 00 b2 f8 vpermq -0x00000408(%rdx), $0x7b, %zmm30 {%k0} fb ff ff 7b - 62 62 7d 48 89 31 vpexpandd %zmm30, (%rcx) {%k0} - 62 62 7d 4f 89 31 vpexpandd %zmm30, (%rcx) {%k7} - 62 62 7d cf 89 31 vpexpandd %zmm30, (%rcx) {%k7} - 62 22 7d 48 89 b4 f0 vpexpandd %zmm30, 0x00000123(%rax,%r14,8) {%k0} - 23 01 00 00 - 62 62 7d 48 89 72 7f vpexpandd %zmm30, 0x000001fc(%rdx) {%k0} - 62 62 7d 48 89 b2 00 vpexpandd %zmm30, 0x00000200(%rdx) {%k0} - 02 00 00 - 62 62 7d 48 89 72 80 vpexpandd %zmm30, -0x00000200(%rdx) {%k0} - 62 62 7d 48 89 b2 fc vpexpandd %zmm30, -0x00000204(%rdx) {%k0} - fd ff ff - 62 02 7d 48 89 f5 vpexpandd %zmm30, %zmm29 {%k0} - 62 02 7d 4f 89 f5 vpexpandd %zmm30, %zmm29 {%k7} - 62 02 7d cf 89 f5 vpexpandd %zmm30, %zmm29 {%k7} - 62 62 fd 48 89 31 vpexpandq %zmm30, (%rcx) {%k0} - 62 62 fd 4f 89 31 vpexpandq %zmm30, (%rcx) {%k7} - 62 62 fd cf 89 31 vpexpandq %zmm30, (%rcx) {%k7} - 62 22 fd 48 89 b4 f0 vpexpandq %zmm30, 0x00000123(%rax,%r14,8) {%k0} - 23 01 00 00 - 62 62 fd 48 89 72 7f vpexpandq %zmm30, 0x000003f8(%rdx) {%k0} - 62 62 fd 48 89 b2 00 vpexpandq %zmm30, 0x00000400(%rdx) {%k0} - 04 00 00 - 62 62 fd 48 89 72 80 vpexpandq %zmm30, -0x00000400(%rdx) {%k0} - 62 62 fd 48 89 b2 f8 vpexpandq %zmm30, -0x00000408(%rdx) {%k0} - fb ff ff - 62 02 fd 48 89 f5 vpexpandq %zmm30, %zmm29 {%k0} - 62 02 fd 4f 89 f5 vpexpandq %zmm30, %zmm29 {%k7} - 62 02 fd cf 89 f5 vpexpandq %zmm30, %zmm29 {%k7} + 62 62 7d 48 89 31 vpexpandd (%rcx), %zmm30 {%k0} + 62 62 7d 4f 89 31 vpexpandd (%rcx), %zmm30 {%k7} + 62 62 7d cf 89 31 vpexpandd (%rcx), %zmm30 {%k7} + 62 22 7d 48 89 b4 f0 vpexpandd 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 7d 48 89 72 7f vpexpandd 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 48 89 b2 00 vpexpandd 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 48 89 72 80 vpexpandd -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 48 89 b2 fc vpexpandd -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 7d 48 89 f5 vpexpandd %zmm29, %zmm30 {%k0} + 62 02 7d 4f 89 f5 vpexpandd %zmm29, %zmm30 {%k7} + 62 02 7d cf 89 f5 vpexpandd %zmm29, %zmm30 {%k7} + 62 62 fd 48 89 31 vpexpandq (%rcx), %zmm30 {%k0} + 62 62 fd 4f 89 31 vpexpandq (%rcx), %zmm30 {%k7} + 62 62 fd cf 89 31 vpexpandq (%rcx), %zmm30 {%k7} + 62 22 fd 48 89 b4 f0 vpexpandq 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 fd 48 89 72 7f vpexpandq 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 48 89 b2 00 vpexpandq 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 48 89 72 80 vpexpandq -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 48 89 b2 f8 vpexpandq -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 fd 48 89 f5 vpexpandq %zmm29, %zmm30 {%k0} + 62 02 fd 4f 89 f5 vpexpandq %zmm29, %zmm30 {%k7} + 62 02 fd cf 89 f5 vpexpandq %zmm29, %zmm30 {%k7} 62 02 7d 41 90 b4 fe vpgatherdd 0x0000007b(%r14,%zmm31,8), %zmm30 {%k1} {%k1} 7b 00 00 00 62 02 7d 41 90 b4 fe vpgatherdd 0x0000007b(%r14,%zmm31,8), %zmm30 {%k1} {%k1} @@ -75914,34 +75914,34 @@ test_x86_64_s: 7b 62 63 fd 58 00 b2 f8 vpermq -0x00000408(%rdx), $0x7b, %zmm30 {%k0} fb ff ff 7b - 62 62 7d 48 89 31 vpexpandd %zmm30, (%rcx) {%k0} - 62 62 7d 4f 89 31 vpexpandd %zmm30, (%rcx) {%k7} - 62 62 7d cf 89 31 vpexpandd %zmm30, (%rcx) {%k7} - 62 22 7d 48 89 b4 f0 vpexpandd %zmm30, 0x00001234(%rax,%r14,8) {%k0} - 34 12 00 00 - 62 62 7d 48 89 72 7f vpexpandd %zmm30, 0x000001fc(%rdx) {%k0} - 62 62 7d 48 89 b2 00 vpexpandd %zmm30, 0x00000200(%rdx) {%k0} - 02 00 00 - 62 62 7d 48 89 72 80 vpexpandd %zmm30, -0x00000200(%rdx) {%k0} - 62 62 7d 48 89 b2 fc vpexpandd %zmm30, -0x00000204(%rdx) {%k0} - fd ff ff - 62 02 7d 48 89 f5 vpexpandd %zmm30, %zmm29 {%k0} - 62 02 7d 4f 89 f5 vpexpandd %zmm30, %zmm29 {%k7} - 62 02 7d cf 89 f5 vpexpandd %zmm30, %zmm29 {%k7} - 62 62 fd 48 89 31 vpexpandq %zmm30, (%rcx) {%k0} - 62 62 fd 4f 89 31 vpexpandq %zmm30, (%rcx) {%k7} - 62 62 fd cf 89 31 vpexpandq %zmm30, (%rcx) {%k7} - 62 22 fd 48 89 b4 f0 vpexpandq %zmm30, 0x00001234(%rax,%r14,8) {%k0} - 34 12 00 00 - 62 62 fd 48 89 72 7f vpexpandq %zmm30, 0x000003f8(%rdx) {%k0} - 62 62 fd 48 89 b2 00 vpexpandq %zmm30, 0x00000400(%rdx) {%k0} - 04 00 00 - 62 62 fd 48 89 72 80 vpexpandq %zmm30, -0x00000400(%rdx) {%k0} - 62 62 fd 48 89 b2 f8 vpexpandq %zmm30, -0x00000408(%rdx) {%k0} - fb ff ff - 62 02 fd 48 89 f5 vpexpandq %zmm30, %zmm29 {%k0} - 62 02 fd 4f 89 f5 vpexpandq %zmm30, %zmm29 {%k7} - 62 02 fd cf 89 f5 vpexpandq %zmm30, %zmm29 {%k7} + 62 62 7d 48 89 31 vpexpandd (%rcx), %zmm30 {%k0} + 62 62 7d 4f 89 31 vpexpandd (%rcx), %zmm30 {%k7} + 62 62 7d cf 89 31 vpexpandd (%rcx), %zmm30 {%k7} + 62 22 7d 48 89 b4 f0 vpexpandd 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 7d 48 89 72 7f vpexpandd 0x000001fc(%rdx), %zmm30 {%k0} + 62 62 7d 48 89 b2 00 vpexpandd 0x00000200(%rdx), %zmm30 {%k0} + 02 00 00 + 62 62 7d 48 89 72 80 vpexpandd -0x00000200(%rdx), %zmm30 {%k0} + 62 62 7d 48 89 b2 fc vpexpandd -0x00000204(%rdx), %zmm30 {%k0} + fd ff ff + 62 02 7d 48 89 f5 vpexpandd %zmm29, %zmm30 {%k0} + 62 02 7d 4f 89 f5 vpexpandd %zmm29, %zmm30 {%k7} + 62 02 7d cf 89 f5 vpexpandd %zmm29, %zmm30 {%k7} + 62 62 fd 48 89 31 vpexpandq (%rcx), %zmm30 {%k0} + 62 62 fd 4f 89 31 vpexpandq (%rcx), %zmm30 {%k7} + 62 62 fd cf 89 31 vpexpandq (%rcx), %zmm30 {%k7} + 62 22 fd 48 89 b4 f0 vpexpandq 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 fd 48 89 72 7f vpexpandq 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 fd 48 89 b2 00 vpexpandq 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 fd 48 89 72 80 vpexpandq -0x00000400(%rdx), %zmm30 {%k0} + 62 62 fd 48 89 b2 f8 vpexpandq -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 02 fd 48 89 f5 vpexpandq %zmm29, %zmm30 {%k0} + 62 02 fd 4f 89 f5 vpexpandq %zmm29, %zmm30 {%k7} + 62 02 fd cf 89 f5 vpexpandq %zmm29, %zmm30 {%k7} 62 02 7d 41 90 b4 fe vpgatherdd -0x0000007b(%r14,%zmm31,8), %zmm30 {%k1} {%k1} 85 ff ff ff 62 02 7d 41 90 b4 fe vpgatherdd -0x0000007b(%r14,%zmm31,8), %zmm30 {%k1} {%k1} @@ -83985,62 +83985,62 @@ test_x86_64_s: 7b 62 63 fd 38 00 b2 f8 vpermq -0x00000408(%rdx), $0x7b, %ymm30 {%k0} fb ff ff 7b - 62 62 7d 08 89 31 vpexpandd %xmm30, (%rcx) {%k0} - 62 62 7d 0f 89 31 vpexpandd %xmm30, (%rcx) {%k7} - 62 62 7d 8f 89 31 vpexpandd %xmm30, (%rcx) {%k7} - 62 22 7d 08 89 b4 f0 vpexpandd %xmm30, 0x00000123(%rax,%r14,8) {%k0} - 23 01 00 00 - 62 62 7d 08 89 72 7f vpexpandd %xmm30, 0x000001fc(%rdx) {%k0} - 62 62 7d 08 89 b2 00 vpexpandd %xmm30, 0x00000200(%rdx) {%k0} - 02 00 00 - 62 62 7d 08 89 72 80 vpexpandd %xmm30, -0x00000200(%rdx) {%k0} - 62 62 7d 08 89 b2 fc vpexpandd %xmm30, -0x00000204(%rdx) {%k0} - fd ff ff - 62 62 7d 28 89 31 vpexpandd %ymm30, (%rcx) {%k0} - 62 62 7d 2f 89 31 vpexpandd %ymm30, (%rcx) {%k7} - 62 62 7d af 89 31 vpexpandd %ymm30, (%rcx) {%k7} - 62 22 7d 28 89 b4 f0 vpexpandd %ymm30, 0x00000123(%rax,%r14,8) {%k0} - 23 01 00 00 - 62 62 7d 28 89 72 7f vpexpandd %ymm30, 0x000001fc(%rdx) {%k0} - 62 62 7d 28 89 b2 00 vpexpandd %ymm30, 0x00000200(%rdx) {%k0} - 02 00 00 - 62 62 7d 28 89 72 80 vpexpandd %ymm30, -0x00000200(%rdx) {%k0} - 62 62 7d 28 89 b2 fc vpexpandd %ymm30, -0x00000204(%rdx) {%k0} - fd ff ff - 62 02 7d 08 89 f5 vpexpandd %xmm30, %xmm29 {%k0} - 62 02 7d 0f 89 f5 vpexpandd %xmm30, %xmm29 {%k7} - 62 02 7d 8f 89 f5 vpexpandd %xmm30, %xmm29 {%k7} - 62 02 7d 28 89 f5 vpexpandd %ymm30, %ymm29 {%k0} - 62 02 7d 2f 89 f5 vpexpandd %ymm30, %ymm29 {%k7} - 62 02 7d af 89 f5 vpexpandd %ymm30, %ymm29 {%k7} - 62 62 fd 08 89 31 vpexpandq %xmm30, (%rcx) {%k0} - 62 62 fd 0f 89 31 vpexpandq %xmm30, (%rcx) {%k7} - 62 62 fd 8f 89 31 vpexpandq %xmm30, (%rcx) {%k7} - 62 22 fd 08 89 b4 f0 vpexpandq %xmm30, 0x00000123(%rax,%r14,8) {%k0} - 23 01 00 00 - 62 62 fd 08 89 72 7f vpexpandq %xmm30, 0x000003f8(%rdx) {%k0} - 62 62 fd 08 89 b2 00 vpexpandq %xmm30, 0x00000400(%rdx) {%k0} - 04 00 00 - 62 62 fd 08 89 72 80 vpexpandq %xmm30, -0x00000400(%rdx) {%k0} - 62 62 fd 08 89 b2 f8 vpexpandq %xmm30, -0x00000408(%rdx) {%k0} - fb ff ff - 62 62 fd 28 89 31 vpexpandq %ymm30, (%rcx) {%k0} - 62 62 fd 2f 89 31 vpexpandq %ymm30, (%rcx) {%k7} - 62 62 fd af 89 31 vpexpandq %ymm30, (%rcx) {%k7} - 62 22 fd 28 89 b4 f0 vpexpandq %ymm30, 0x00000123(%rax,%r14,8) {%k0} - 23 01 00 00 - 62 62 fd 28 89 72 7f vpexpandq %ymm30, 0x000003f8(%rdx) {%k0} - 62 62 fd 28 89 b2 00 vpexpandq %ymm30, 0x00000400(%rdx) {%k0} - 04 00 00 - 62 62 fd 28 89 72 80 vpexpandq %ymm30, -0x00000400(%rdx) {%k0} - 62 62 fd 28 89 b2 f8 vpexpandq %ymm30, -0x00000408(%rdx) {%k0} - fb ff ff - 62 02 fd 08 89 f5 vpexpandq %xmm30, %xmm29 {%k0} - 62 02 fd 0f 89 f5 vpexpandq %xmm30, %xmm29 {%k7} - 62 02 fd 8f 89 f5 vpexpandq %xmm30, %xmm29 {%k7} - 62 02 fd 28 89 f5 vpexpandq %ymm30, %ymm29 {%k0} - 62 02 fd 2f 89 f5 vpexpandq %ymm30, %ymm29 {%k7} - 62 02 fd af 89 f5 vpexpandq %ymm30, %ymm29 {%k7} + 62 62 7d 08 89 31 vpexpandd (%rcx), %xmm30 {%k0} + 62 62 7d 0f 89 31 vpexpandd (%rcx), %xmm30 {%k7} + 62 62 7d 8f 89 31 vpexpandd (%rcx), %xmm30 {%k7} + 62 22 7d 08 89 b4 f0 vpexpandd 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 7d 08 89 72 7f vpexpandd 0x000001fc(%rdx), %xmm30 {%k0} + 62 62 7d 08 89 b2 00 vpexpandd 0x00000200(%rdx), %xmm30 {%k0} + 02 00 00 + 62 62 7d 08 89 72 80 vpexpandd -0x00000200(%rdx), %xmm30 {%k0} + 62 62 7d 08 89 b2 fc vpexpandd -0x00000204(%rdx), %xmm30 {%k0} + fd ff ff + 62 62 7d 28 89 31 vpexpandd (%rcx), %ymm30 {%k0} + 62 62 7d 2f 89 31 vpexpandd (%rcx), %ymm30 {%k7} + 62 62 7d af 89 31 vpexpandd (%rcx), %ymm30 {%k7} + 62 22 7d 28 89 b4 f0 vpexpandd 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 7d 28 89 72 7f vpexpandd 0x000001fc(%rdx), %ymm30 {%k0} + 62 62 7d 28 89 b2 00 vpexpandd 0x00000200(%rdx), %ymm30 {%k0} + 02 00 00 + 62 62 7d 28 89 72 80 vpexpandd -0x00000200(%rdx), %ymm30 {%k0} + 62 62 7d 28 89 b2 fc vpexpandd -0x00000204(%rdx), %ymm30 {%k0} + fd ff ff + 62 02 7d 08 89 f5 vpexpandd %xmm29, %xmm30 {%k0} + 62 02 7d 0f 89 f5 vpexpandd %xmm29, %xmm30 {%k7} + 62 02 7d 8f 89 f5 vpexpandd %xmm29, %xmm30 {%k7} + 62 02 7d 28 89 f5 vpexpandd %ymm29, %ymm30 {%k0} + 62 02 7d 2f 89 f5 vpexpandd %ymm29, %ymm30 {%k7} + 62 02 7d af 89 f5 vpexpandd %ymm29, %ymm30 {%k7} + 62 62 fd 08 89 31 vpexpandq (%rcx), %xmm30 {%k0} + 62 62 fd 0f 89 31 vpexpandq (%rcx), %xmm30 {%k7} + 62 62 fd 8f 89 31 vpexpandq (%rcx), %xmm30 {%k7} + 62 22 fd 08 89 b4 f0 vpexpandq 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 fd 08 89 72 7f vpexpandq 0x000003f8(%rdx), %xmm30 {%k0} + 62 62 fd 08 89 b2 00 vpexpandq 0x00000400(%rdx), %xmm30 {%k0} + 04 00 00 + 62 62 fd 08 89 72 80 vpexpandq -0x00000400(%rdx), %xmm30 {%k0} + 62 62 fd 08 89 b2 f8 vpexpandq -0x00000408(%rdx), %xmm30 {%k0} + fb ff ff + 62 62 fd 28 89 31 vpexpandq (%rcx), %ymm30 {%k0} + 62 62 fd 2f 89 31 vpexpandq (%rcx), %ymm30 {%k7} + 62 62 fd af 89 31 vpexpandq (%rcx), %ymm30 {%k7} + 62 22 fd 28 89 b4 f0 vpexpandq 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 fd 28 89 72 7f vpexpandq 0x000003f8(%rdx), %ymm30 {%k0} + 62 62 fd 28 89 b2 00 vpexpandq 0x00000400(%rdx), %ymm30 {%k0} + 04 00 00 + 62 62 fd 28 89 72 80 vpexpandq -0x00000400(%rdx), %ymm30 {%k0} + 62 62 fd 28 89 b2 f8 vpexpandq -0x00000408(%rdx), %ymm30 {%k0} + fb ff ff + 62 02 fd 08 89 f5 vpexpandq %xmm29, %xmm30 {%k0} + 62 02 fd 0f 89 f5 vpexpandq %xmm29, %xmm30 {%k7} + 62 02 fd 8f 89 f5 vpexpandq %xmm29, %xmm30 {%k7} + 62 02 fd 28 89 f5 vpexpandq %ymm29, %ymm30 {%k0} + 62 02 fd 2f 89 f5 vpexpandq %ymm29, %ymm30 {%k7} + 62 02 fd af 89 f5 vpexpandq %ymm29, %ymm30 {%k7} 62 02 7d 01 90 b4 fe vpgatherdd 0x0000007b(%r14,%xmm31,8), %xmm30 {%k1} {%k1} 7b 00 00 00 62 02 7d 01 90 74 39 vpgatherdd 0x40(%r9,%xmm31), %xmm30 {%k1} {%k1} @@ -92841,62 +92841,62 @@ test_x86_64_s: 7b 62 63 fd 38 00 b2 f8 vpermq -0x00000408(%rdx), $0x7b, %ymm30 {%k0} fb ff ff 7b - 62 62 7d 08 89 31 vpexpandd %xmm30, (%rcx) {%k0} - 62 62 7d 0f 89 31 vpexpandd %xmm30, (%rcx) {%k7} - 62 62 7d 8f 89 31 vpexpandd %xmm30, (%rcx) {%k7} - 62 22 7d 08 89 b4 f0 vpexpandd %xmm30, 0x00001234(%rax,%r14,8) {%k0} - 34 12 00 00 - 62 62 7d 08 89 72 7f vpexpandd %xmm30, 0x000001fc(%rdx) {%k0} - 62 62 7d 08 89 b2 00 vpexpandd %xmm30, 0x00000200(%rdx) {%k0} - 02 00 00 - 62 62 7d 08 89 72 80 vpexpandd %xmm30, -0x00000200(%rdx) {%k0} - 62 62 7d 08 89 b2 fc vpexpandd %xmm30, -0x00000204(%rdx) {%k0} - fd ff ff - 62 62 7d 28 89 31 vpexpandd %ymm30, (%rcx) {%k0} - 62 62 7d 2f 89 31 vpexpandd %ymm30, (%rcx) {%k7} - 62 62 7d af 89 31 vpexpandd %ymm30, (%rcx) {%k7} - 62 22 7d 28 89 b4 f0 vpexpandd %ymm30, 0x00001234(%rax,%r14,8) {%k0} - 34 12 00 00 - 62 62 7d 28 89 72 7f vpexpandd %ymm30, 0x000001fc(%rdx) {%k0} - 62 62 7d 28 89 b2 00 vpexpandd %ymm30, 0x00000200(%rdx) {%k0} - 02 00 00 - 62 62 7d 28 89 72 80 vpexpandd %ymm30, -0x00000200(%rdx) {%k0} - 62 62 7d 28 89 b2 fc vpexpandd %ymm30, -0x00000204(%rdx) {%k0} - fd ff ff - 62 02 7d 08 89 f5 vpexpandd %xmm30, %xmm29 {%k0} - 62 02 7d 0f 89 f5 vpexpandd %xmm30, %xmm29 {%k7} - 62 02 7d 8f 89 f5 vpexpandd %xmm30, %xmm29 {%k7} - 62 02 7d 28 89 f5 vpexpandd %ymm30, %ymm29 {%k0} - 62 02 7d 2f 89 f5 vpexpandd %ymm30, %ymm29 {%k7} - 62 02 7d af 89 f5 vpexpandd %ymm30, %ymm29 {%k7} - 62 62 fd 08 89 31 vpexpandq %xmm30, (%rcx) {%k0} - 62 62 fd 0f 89 31 vpexpandq %xmm30, (%rcx) {%k7} - 62 62 fd 8f 89 31 vpexpandq %xmm30, (%rcx) {%k7} - 62 22 fd 08 89 b4 f0 vpexpandq %xmm30, 0x00001234(%rax,%r14,8) {%k0} - 34 12 00 00 - 62 62 fd 08 89 72 7f vpexpandq %xmm30, 0x000003f8(%rdx) {%k0} - 62 62 fd 08 89 b2 00 vpexpandq %xmm30, 0x00000400(%rdx) {%k0} - 04 00 00 - 62 62 fd 08 89 72 80 vpexpandq %xmm30, -0x00000400(%rdx) {%k0} - 62 62 fd 08 89 b2 f8 vpexpandq %xmm30, -0x00000408(%rdx) {%k0} - fb ff ff - 62 62 fd 28 89 31 vpexpandq %ymm30, (%rcx) {%k0} - 62 62 fd 2f 89 31 vpexpandq %ymm30, (%rcx) {%k7} - 62 62 fd af 89 31 vpexpandq %ymm30, (%rcx) {%k7} - 62 22 fd 28 89 b4 f0 vpexpandq %ymm30, 0x00001234(%rax,%r14,8) {%k0} - 34 12 00 00 - 62 62 fd 28 89 72 7f vpexpandq %ymm30, 0x000003f8(%rdx) {%k0} - 62 62 fd 28 89 b2 00 vpexpandq %ymm30, 0x00000400(%rdx) {%k0} - 04 00 00 - 62 62 fd 28 89 72 80 vpexpandq %ymm30, -0x00000400(%rdx) {%k0} - 62 62 fd 28 89 b2 f8 vpexpandq %ymm30, -0x00000408(%rdx) {%k0} - fb ff ff - 62 02 fd 08 89 f5 vpexpandq %xmm30, %xmm29 {%k0} - 62 02 fd 0f 89 f5 vpexpandq %xmm30, %xmm29 {%k7} - 62 02 fd 8f 89 f5 vpexpandq %xmm30, %xmm29 {%k7} - 62 02 fd 28 89 f5 vpexpandq %ymm30, %ymm29 {%k0} - 62 02 fd 2f 89 f5 vpexpandq %ymm30, %ymm29 {%k7} - 62 02 fd af 89 f5 vpexpandq %ymm30, %ymm29 {%k7} + 62 62 7d 08 89 31 vpexpandd (%rcx), %xmm30 {%k0} + 62 62 7d 0f 89 31 vpexpandd (%rcx), %xmm30 {%k7} + 62 62 7d 8f 89 31 vpexpandd (%rcx), %xmm30 {%k7} + 62 22 7d 08 89 b4 f0 vpexpandd 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 7d 08 89 72 7f vpexpandd 0x000001fc(%rdx), %xmm30 {%k0} + 62 62 7d 08 89 b2 00 vpexpandd 0x00000200(%rdx), %xmm30 {%k0} + 02 00 00 + 62 62 7d 08 89 72 80 vpexpandd -0x00000200(%rdx), %xmm30 {%k0} + 62 62 7d 08 89 b2 fc vpexpandd -0x00000204(%rdx), %xmm30 {%k0} + fd ff ff + 62 62 7d 28 89 31 vpexpandd (%rcx), %ymm30 {%k0} + 62 62 7d 2f 89 31 vpexpandd (%rcx), %ymm30 {%k7} + 62 62 7d af 89 31 vpexpandd (%rcx), %ymm30 {%k7} + 62 22 7d 28 89 b4 f0 vpexpandd 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 7d 28 89 72 7f vpexpandd 0x000001fc(%rdx), %ymm30 {%k0} + 62 62 7d 28 89 b2 00 vpexpandd 0x00000200(%rdx), %ymm30 {%k0} + 02 00 00 + 62 62 7d 28 89 72 80 vpexpandd -0x00000200(%rdx), %ymm30 {%k0} + 62 62 7d 28 89 b2 fc vpexpandd -0x00000204(%rdx), %ymm30 {%k0} + fd ff ff + 62 02 7d 08 89 f5 vpexpandd %xmm29, %xmm30 {%k0} + 62 02 7d 0f 89 f5 vpexpandd %xmm29, %xmm30 {%k7} + 62 02 7d 8f 89 f5 vpexpandd %xmm29, %xmm30 {%k7} + 62 02 7d 28 89 f5 vpexpandd %ymm29, %ymm30 {%k0} + 62 02 7d 2f 89 f5 vpexpandd %ymm29, %ymm30 {%k7} + 62 02 7d af 89 f5 vpexpandd %ymm29, %ymm30 {%k7} + 62 62 fd 08 89 31 vpexpandq (%rcx), %xmm30 {%k0} + 62 62 fd 0f 89 31 vpexpandq (%rcx), %xmm30 {%k7} + 62 62 fd 8f 89 31 vpexpandq (%rcx), %xmm30 {%k7} + 62 22 fd 08 89 b4 f0 vpexpandq 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 fd 08 89 72 7f vpexpandq 0x000003f8(%rdx), %xmm30 {%k0} + 62 62 fd 08 89 b2 00 vpexpandq 0x00000400(%rdx), %xmm30 {%k0} + 04 00 00 + 62 62 fd 08 89 72 80 vpexpandq -0x00000400(%rdx), %xmm30 {%k0} + 62 62 fd 08 89 b2 f8 vpexpandq -0x00000408(%rdx), %xmm30 {%k0} + fb ff ff + 62 62 fd 28 89 31 vpexpandq (%rcx), %ymm30 {%k0} + 62 62 fd 2f 89 31 vpexpandq (%rcx), %ymm30 {%k7} + 62 62 fd af 89 31 vpexpandq (%rcx), %ymm30 {%k7} + 62 22 fd 28 89 b4 f0 vpexpandq 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 fd 28 89 72 7f vpexpandq 0x000003f8(%rdx), %ymm30 {%k0} + 62 62 fd 28 89 b2 00 vpexpandq 0x00000400(%rdx), %ymm30 {%k0} + 04 00 00 + 62 62 fd 28 89 72 80 vpexpandq -0x00000400(%rdx), %ymm30 {%k0} + 62 62 fd 28 89 b2 f8 vpexpandq -0x00000408(%rdx), %ymm30 {%k0} + fb ff ff + 62 02 fd 08 89 f5 vpexpandq %xmm29, %xmm30 {%k0} + 62 02 fd 0f 89 f5 vpexpandq %xmm29, %xmm30 {%k7} + 62 02 fd 8f 89 f5 vpexpandq %xmm29, %xmm30 {%k7} + 62 02 fd 28 89 f5 vpexpandq %ymm29, %ymm30 {%k0} + 62 02 fd 2f 89 f5 vpexpandq %ymm29, %ymm30 {%k7} + 62 02 fd af 89 f5 vpexpandq %ymm29, %ymm30 {%k7} 62 02 7d 01 90 b4 fe vpgatherdd -0x0000007b(%r14,%xmm31,8), %xmm30 {%k1} {%k1} 85 ff ff ff 62 02 7d 01 90 74 39 vpgatherdd 0x40(%r9,%xmm31), %xmm30 {%k1} {%k1} From 9d88d3cde6fafd3e2d5fe38d12827c427e7d62ac Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Fri, 13 Dec 2024 16:22:28 +0800 Subject: [PATCH 08/13] Add support for AVX-512 VBMI2. (#7128) This adds 16 new VBMI2 opcodes: - vpcompressb - vpcompressw - vpexpandb - vpexpandw - vpshldw - vpshldd - vpshldq - vpshldvw - vpshldvd - vpshldvq - vpshrdw - vpshrdd - vpshrdq - vpshrdvw - vpshrdvd - vpshrdvq And one VBMI opcode that was missing. - vpmultishiftqb The changes are generally what would be expected. The only quirk worth mentioning is that vpshrdvw's decoder table entry does not take reqp (unlike every other opcode added) because the path to get there goes through a PREFIX_EXT to split off some AVX512_BF16 instructions. --- core/ir/x86/decode_table.c | 131 ++- core/ir/x86/instr_create_api.h | 39 +- core/ir/x86/opcode_api.h | 21 + .../tests/api/ir_x86_3args_avx512_evex_mask.h | 72 ++ .../api/ir_x86_4args_avx512_evex_mask_A.h | 108 ++ .../api/ir_x86_4args_avx512_evex_mask_C.h | 36 + .../tests/api/ir_x86_5args_avx512_evex_mask.h | 192 ++++ .../test_decenc/drdecode_decenc_x86.expect | 945 +++++++++++++++++ .../test_decenc/drdecode_decenc_x86_64.expect | 999 +++++++++++++++++- .../binutils/test_decenc/test_decenc_x86.asm | 6 - .../test_decenc/test_decenc_x86_64.asm | 6 - 11 files changed, 2523 insertions(+), 32 deletions(-) diff --git a/core/ir/x86/decode_table.c b/core/ir/x86/decode_table.c index 4c7d1d869e9..842a05b8748 100644 --- a/core/ir/x86/decode_table.c +++ b/core/ir/x86/decode_table.c @@ -1677,6 +1677,27 @@ const instr_info_t * const op_instr[] = /* OP_vgf2p8mulb */ &vex_W_extensions[114][0], /* OP_vgf2p8affineqb */ &vex_W_extensions[115][1], /* OP_vgf2p8affineinvqb */ &vex_W_extensions[116][1], + + /* Missing opcode from AVX512_VBMI */ + /* OP_vpmultishiftqb */ &evex_Wb_extensions[280][2], + + /* AVX512_VBMI2 */ + /* OP_vpcompressb */ &evex_Wb_extensions[282][0], + /* OP_vpcompressw */ &evex_Wb_extensions[282][2], + /* OP_vpexpandb */ &evex_Wb_extensions[281][0], + /* OP_vpexpandw */ &evex_Wb_extensions[281][2], + /* OP_vpshldw */ &evex_Wb_extensions[283][2], + /* OP_vpshldd */ &evex_Wb_extensions[284][0], + /* OP_vpshldq */ &evex_Wb_extensions[284][2], + /* OP_vpshldvw */ &evex_Wb_extensions[287][2], + /* OP_vpshldvd */ &evex_Wb_extensions[288][0], + /* OP_vpshldvq */ &evex_Wb_extensions[288][2], + /* OP_vpshrdw */ &evex_Wb_extensions[285][2], + /* OP_vpshrdd */ &evex_Wb_extensions[286][0], + /* OP_vpshrdq */ &evex_Wb_extensions[286][2], + /* OP_vpshrdvw */ &evex_Wb_extensions[289][2], + /* OP_vpshrdvd */ &evex_Wb_extensions[290][0], + /* OP_vpshrdvq */ &evex_Wb_extensions[290][2], }; @@ -5927,7 +5948,7 @@ const instr_info_t prefix_extensions[][12] = { {INVALID, 0xf2387218, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0x387218, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {EVEX_Wb_EXT,0xf3387208, catUncategorized, "(evex_Wb ext 272)", xx, xx, xx, xx, xx, mrm|evex|ttnone, x, 272}, - {INVALID, 0x66387218, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {EVEX_Wb_EXT,0x66387248, catUncategorized, "(evex_Wb ext 289)", xx, xx, xx, xx, xx, mrm|evex, x, 289}, {EVEX_Wb_EXT,0xf2387218, catUncategorized, "(evex_Wb ext 271)", xx, xx, xx, xx, xx, mrm|evex|ttnone, x, 271}, }, { /* prefix extension 191 */ {OP_serialize, 0x01e808, catOther, "serialize", xx, xx, xx, xx, xx, reqp, x, END_LIST}, @@ -7420,9 +7441,9 @@ const byte third_byte_38_index[256] = { 30, 31, 32, 33, 34, 35,112, 36, 37, 38, 39, 40, 41, 42, 43, 44, /* 3 */ 45, 46,142,143, 156,113,114,115, 0, 0, 0, 0, 129,130,150,151, /* 4 */ 166,167,168,169, 174,171, 0, 0, 118,119,108,138, 0, 0, 0, 0, /* 5 */ - 0, 0, 0, 0, 145,139,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6 */ - 0, 0,170, 0, 0,123,122,121, 116,117,135,136, 137,124,125,126, /* 7 */ - 49, 50,103, 0, 0, 0, 0, 0, 141,147,140,146, 109,120,110,175, /* 8 */ + 0, 0,178,179, 145,139,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6 */ + 180,181,170,182, 0,123,122,121, 116,117,135,136, 137,124,125,126, /* 7 */ + 49, 50,103,177, 0, 0, 0, 0, 141,147,140,146, 109,120,110,175, /* 8 */ 104,105,106,107, 0, 0, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, /* 9 */ 159,160,161,162, 0, 0, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, /* A */ 0, 0, 0, 0, 157,158, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, /* B */ @@ -7631,7 +7652,15 @@ const instr_info_t third_byte_38[] = { {EVEX_Wb_EXT, 0x66385418, catUncategorized, "(evex_Wb ext 275)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 275},/*174*/ {EVEX_Wb_EXT, 0x66388f18, catUncategorized, "(evex_Wb ext 276)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 276},/*175*/ /* GFNI */ - {E_VEX_EXT, 0x6638cf08, catUncategorized, "(e_vex ext 153)", xx, xx, xx, xx, xx, mrm, x, 153}/*176*/ + {E_VEX_EXT, 0x6638cf08, catUncategorized, "(e_vex ext 153)", xx, xx, xx, xx, xx, mrm, x, 153},/*176*/ + /* AVX512_VBMI */ + {EVEX_Wb_EXT, 0x66388308, catUncategorized, "(evex_Wb ext 280)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 280},/*177*/ + /* AVX512_VBMI2 */ + {EVEX_Wb_EXT, 0x66386208, catUncategorized, "(evex_Wb ext 281)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 281},/*178*/ + {EVEX_Wb_EXT, 0x66386308, catUncategorized, "(evex_Wb ext 282)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 282},/*179*/ + {EVEX_Wb_EXT, 0x66387008, catUncategorized, "(evex_Wb ext 287)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 287},/*180*/ + {EVEX_Wb_EXT, 0x66387108, catUncategorized, "(evex_Wb ext 288)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 288},/*181*/ + {EVEX_Wb_EXT, 0x66387308, catUncategorized, "(evex_Wb ext 290)", xx, xx, xx, xx, xx, mrm|evex|reqp, x, 290},/*182*/ }; /* N.B.: every 0x3a instr so far has an immediate. If a version w/o an immed @@ -7646,7 +7675,7 @@ const byte third_byte_3a_index[256] = { 16,17,18,76, 23, 0,62, 0, 54,55,25,26, 27, 0, 0, 0, /* 4 */ 82,83, 0, 0, 78,79,84,85, 0, 0, 0, 0, 34,35,36,37, /* 5 */ 19,20,21,22, 0, 0,86,87, 38,39,40,41, 42,43,44,45, /* 6 */ - 0, 0, 0, 0, 0, 0, 0, 0, 46,47,48,49, 50,51,52,53, /* 7 */ + 92,93,94,95, 0, 0, 0, 0, 46,47,48,49, 50,51,52,53, /* 7 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A */ @@ -7763,6 +7792,11 @@ const instr_info_t third_byte_3a[] = { /* GFNI */ {E_VEX_EXT, 0x663ace08, catUncategorized, "(e_vex ext 154)", xx, xx, xx, xx, xx, mrm, x, 154},/*90*/ {E_VEX_EXT, 0x663acf08, catUncategorized, "(e_vex ext 155)", xx, xx, xx, xx, xx, mrm, x, 155},/*91*/ + /* AVX-512 VBMI2 */ + {EVEX_Wb_EXT, 0x663a7008, catUncategorized, "(evex_Wb ext 283)", xx, xx, xx, xx, xx, mrm, x, 283},/*92*/ + {EVEX_Wb_EXT, 0x663a7108, catUncategorized, "(evex_Wb ext 284)", xx, xx, xx, xx, xx, mrm, x, 284},/*93*/ + {EVEX_Wb_EXT, 0x663a7208, catUncategorized, "(evex_Wb ext 285)", xx, xx, xx, xx, xx, mrm, x, 285},/*94*/ + {EVEX_Wb_EXT, 0x663a7308, catUncategorized, "(evex_Wb ext 286)", xx, xx, xx, xx, xx, mrm, x, 286},/*95*/ }; /**************************************************************************** @@ -9584,6 +9618,61 @@ const instr_info_t evex_Wb_extensions[][4] = { {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vgf2p8affineinvqb, 0x663acf48, catMath | catSIMD, "vgf2p8affineinvqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[259]}, {OP_vgf2p8affineinvqb, 0x663acf58, catMath | catSIMD, "vgf2p8affineinvqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[260]}, + },{ /* evex_W_ext 280 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpmultishiftqb, 0x66388348, catSIMD, "vpmultishiftqb", Ve, xx, KEq, He, We, mrm|evex|ttfv|reqp, x, tevexwb[280][3]}, + {OP_vpmultishiftqb, 0x66388358, catSIMD, "vpmultishiftqb", Ve, xx, KEq, He, Mq, mrm|evex|ttfv|reqp, x, END_LIST}, + },{ /* evex_W_ext 281 */ + {OP_vpexpandb, 0x66386208, catSIMD, "vpexpandb", Ve, xx, KEq, We, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpexpandw, 0x66386248, catSIMD, "vpexpandw", Ve, xx, KEd, We, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 282 */ + {OP_vpcompressb, 0x66386308, catSIMD, "vpcompressb", We, xx, KEq, Ve, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpcompressw, 0x66386348, catSIMD, "vpcompressw", We, xx, KEd, Ve, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 283 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpshldw, 0x663a7048, catSIMD, "vpshldw", Ve, xx, KEd, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[261]}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 284 */ + {OP_vpshldd, 0x663a7108, catSIMD, "vpshldd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[262]}, + {OP_vpshldd, 0x663a7118, catSIMD, "vpshldd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[263]}, + {OP_vpshldq, 0x663a7148, catSIMD, "vpshldq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[264]}, + {OP_vpshldq, 0x663a7158, catSIMD, "vpshldq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[265]}, + },{ /* evex_W_ext 285 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpshrdw, 0x663a7248, catSIMD, "vpshrdw", Ve, xx, KEd, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[266]}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 286 */ + {OP_vpshrdd, 0x663a7308, catSIMD, "vpshrdd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[267]}, + {OP_vpshrdd, 0x663a7318, catSIMD, "vpshrdd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[268]}, + {OP_vpshrdq, 0x663a7348, catSIMD, "vpshrdq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[269]}, + {OP_vpshrdq, 0x663a7358, catSIMD, "vpshrdq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[270]}, + },{ /* evex_W_ext 287 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpshldvw, 0x66387048, catSIMD, "vpshldvw", Ve, xx, KEd, He, We, mrm|evex|ttfvm|reqp|xop, x, exop[271]}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 288 */ + {OP_vpshldvd, 0x66387108, catSIMD, "vpshldvd", Ve, xx, KEw, He, We, mrm|evex|ttfv|reqp|xop, x, exop[272]}, + {OP_vpshldvd, 0x66387118, catSIMD, "vpshldvd", Ve, xx, KEw, He, Md, mrm|evex|ttfv|reqp|xop, x, exop[273]}, + {OP_vpshldvq, 0x66387148, catSIMD, "vpshldvq", Ve, xx, KEb, He, We, mrm|evex|ttfv|reqp|xop, x, exop[274]}, + {OP_vpshldvq, 0x66387158, catSIMD, "vpshldvq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv|reqp|xop, x, exop[275]}, + },{ /* evex_W_ext 289 */ + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_vpshrdvw, 0x66387248, catSIMD, "vpshrdvw", Ve, xx, KEd, He, We, mrm|evex|ttfvm|xop, x, exop[276]}, + {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* evex_W_ext 290 */ + {OP_vpshrdvd, 0x66387308, catSIMD, "vpshrdvd", Ve, xx, KEw, He, We, mrm|evex|ttfv|reqp|xop, x, exop[277]}, + {OP_vpshrdvd, 0x66387318, catSIMD, "vpshrdvd", Ve, xx, KEw, He, Md, mrm|evex|ttfv|reqp|xop, x, exop[278]}, + {OP_vpshrdvq, 0x66387348, catSIMD, "vpshrdvq", Ve, xx, KEb, He, We, mrm|evex|ttfv|reqp|xop, x, exop[279]}, + {OP_vpshrdvq, 0x66387358, catSIMD, "vpshrdvq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv|reqp|xop, x, exop[280]}, }, }; @@ -10923,6 +11012,36 @@ const instr_info_t extra_operands[] = {OP_CONTD, 0x663acf48, catMath | catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfvm|reqp, x, tevexwb[279][3]}, /* 260 */ {OP_CONTD, 0x663acf58, catMath | catSIMD, "", xx, xx, Mq, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, + {OP_CONTD, 0x663a7048, catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, + /* 262 */ + {OP_CONTD, 0x663a7108, catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[284][1]}, + {OP_CONTD, 0x663a7118, catSIMD, "", xx, xx, Md, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + /* 264 */ + {OP_CONTD, 0x663a7148, catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[284][3]}, + {OP_CONTD, 0x663a7158, catSIMD, "", xx, xx, Mq, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + /* 266 */ + {OP_CONTD, 0x663a7248, catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, + {OP_CONTD, 0x663a7308, catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[286][1]}, + /* 268 */ + {OP_CONTD, 0x663a7318, catSIMD, "", xx, xx, Md, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + {OP_CONTD, 0x663a7348, catSIMD, "", xx, xx, We, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[286][3]}, + /* 270 */ + {OP_CONTD, 0x663a7358, catSIMD, "", xx, xx, Mq, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + {OP_CONTD, 0x66387048, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, + /* 272 */ + {OP_CONTD, 0x66387108, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[288][1]}, + {OP_CONTD, 0x66387118, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + /* 274 */ + {OP_CONTD, 0x66387148, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[288][3]}, + {OP_CONTD, 0x66387158, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + /* 276 */ + {OP_CONTD, 0x66387248, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfvm|reqp, x, END_LIST}, + {OP_CONTD, 0x66387308, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[290][1]}, + /* 278 */ + {OP_CONTD, 0x66387318, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, + {OP_CONTD, 0x66387348, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, tevexwb[290][3]}, + /* 280 */ + {OP_CONTD, 0x66387358, catSIMD, "", xx, xx, Ve, xx, xx, mrm|evex|ttfv|reqp, x, END_LIST}, }; /* clang-format on */ diff --git a/core/ir/x86/instr_create_api.h b/core/ir/x86/instr_create_api.h index 34058f3cb15..c4e9369bba9 100644 --- a/core/ir/x86/instr_create_api.h +++ b/core/ir/x86/instr_create_api.h @@ -2730,7 +2730,15 @@ instr_create_1dst_2src((dc), OP_vpopcntb, (d), (k), (s)) #define INSTR_CREATE_vpopcntw_mask(dc, d, k, s) \ instr_create_1dst_2src((dc), OP_vpopcntw, (d), (k), (s)) - +/* AVX512 VBMI2 */ +#define INSTR_CREATE_vpcompressb_mask(dc, d, k, s) \ + instr_create_1dst_2src((dc), OP_vpcompressb, (d), (k), (s)) +#define INSTR_CREATE_vpcompressw_mask(dc, d, k, s) \ + instr_create_1dst_2src((dc), OP_vpcompressw, (d), (k), (s)) +#define INSTR_CREATE_vpexpandb_mask(dc, d, k, s) \ + instr_create_1dst_2src((dc), OP_vpexpandb, (d), (k), (s)) +#define INSTR_CREATE_vpexpandw_mask(dc, d, k, s) \ + instr_create_1dst_2src((dc), OP_vpexpandw, (d), (k), (s)) /** @} */ /* end doxygen group */ /* 1 destination, 2 sources: 1 explicit, 1 implicit */ @@ -3846,6 +3854,9 @@ /* GFNI */ #define INSTR_CREATE_vgf2p8mulb_mask(dc, d, k, s1, s2) \ instr_create_1dst_3src((dc), OP_vgf2p8mulb, (d), (k), (s1), (s2)) +/* AVX512 VBMI2 */ +#define INSTR_CREATE_vpmultishiftqb_mask(dc, d, k, s1, s2) \ + instr_create_1dst_3src((dc), OP_vpmultishiftqb, (d), (k), (s1), (s2)) /** @} */ /* end doxygen group */ /** @name 1 destination, 3 sources including one immediate */ @@ -4264,6 +4275,19 @@ instr_create_1dst_3src((dc), OP_vcvtne2ps2bf16, (d), (k), (s1), (s2)) #define INSTR_CREATE_vdpbf16ps_mask(dc, d, k, s1, s2) \ instr_create_1dst_3src((dc), OP_vdpbf16ps, (d), (k), (s1), (s2)) +/* AVX512 VBMI2 */ +#define INSTR_CREATE_vpshldvw_mask(dc, d, k, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshldvw, (d), (k), (s1), (s2), (d)) +#define INSTR_CREATE_vpshldvd_mask(dc, d, k, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshldvd, (d), (k), (s1), (s2), (d)) +#define INSTR_CREATE_vpshldvq_mask(dc, d, k, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshldvq, (d), (k), (s1), (s2), (d)) +#define INSTR_CREATE_vpshrdvw_mask(dc, d, k, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshrdvw, (d), (k), (s1), (s2), (d)) +#define INSTR_CREATE_vpshrdvd_mask(dc, d, k, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshrdvd, (d), (k), (s1), (s2), (d)) +#define INSTR_CREATE_vpshrdvq_mask(dc, d, k, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshrdvq, (d), (k), (s1), (s2), (d)) /** @} */ /* end doxygen group */ /** @name 1 explicit destination, 3 explicit sources */ @@ -4498,6 +4522,19 @@ instr_create_1dst_4src((dc), OP_vgf2p8affineqb, (d), (k), (i), (s1), (s2)) #define INSTR_CREATE_vgf2p8affineinvqb_mask(dc, d, k, i, s1, s2) \ instr_create_1dst_4src((dc), OP_vgf2p8affineinvqb, (d), (k), (i), (s1), (s2)) +/* AVX512 VBMI2 */ +#define INSTR_CREATE_vpshldw_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshldw, (d), (k), (i), (s1), (s2)) +#define INSTR_CREATE_vpshldd_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshldd, (d), (k), (i), (s1), (s2)) +#define INSTR_CREATE_vpshldq_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshldq, (d), (k), (i), (s1), (s2)) +#define INSTR_CREATE_vpshrdw_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshrdw, (d), (k), (i), (s1), (s2)) +#define INSTR_CREATE_vpshrdd_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshrdd, (d), (k), (i), (s1), (s2)) +#define INSTR_CREATE_vpshrdq_mask(dc, d, k, i, s1, s2) \ + instr_create_1dst_4src((dc), OP_vpshrdq, (d), (k), (i), (s1), (s2)) /** @} */ /* end doxygen group */ /** @name 1 destination, 3 sources where 2 are implicit */ diff --git a/core/ir/x86/opcode_api.h b/core/ir/x86/opcode_api.h index 3f5abaaf316..0311fcdbbcb 100644 --- a/core/ir/x86/opcode_api.h +++ b/core/ir/x86/opcode_api.h @@ -1664,6 +1664,27 @@ enum { /* 1459 */ OP_vgf2p8affineqb, /**< IA-32/AMD64 vgf2p8affineqb opcode. */ /* 1460 */ OP_vgf2p8affineinvqb, /**< IA-32/AMD64 vgf2p8affineinvqb opcode. */ + /* Missing opcode from AVX512_VBMI */ + /* 1461 */ OP_vpmultishiftqb, /**< IA-32/AMD64 vpmultishiftqb opcode. */ + + /* AVX512_VBMI2 */ + /* 1462 */ OP_vpcompressb, /**< IA-32/AMD64 vpcompressb opcode. */ + /* 1463 */ OP_vpcompressw, /**< IA-32/AMD64 vpcompressw opcode. */ + /* 1464 */ OP_vpexpandb, /**< IA-32/AMD64 vpexpandb opcode. */ + /* 1465 */ OP_vpexpandw, /**< IA-32/AMD64 vpexpandw opcode. */ + /* 1466 */ OP_vpshldw, /**< IA-32/AMD64 vpshldw opcode. */ + /* 1467 */ OP_vpshldd, /**< IA-32/AMD64 vpshldd opcode. */ + /* 1468 */ OP_vpshldq, /**< IA-32/AMD64 vpshldq opcode. */ + /* 1469 */ OP_vpshldvw, /**< IA-32/AMD64 vpshldvw opcode. */ + /* 1470 */ OP_vpshldvd, /**< IA-32/AMD64 vpshldvd opcode. */ + /* 1471 */ OP_vpshldvq, /**< IA-32/AMD64 vpshldvq opcode. */ + /* 1472 */ OP_vpshrdw, /**< IA-32/AMD64 vpshrdw opcode. */ + /* 1473 */ OP_vpshrdd, /**< IA-32/AMD64 vpshrdd opcode. */ + /* 1474 */ OP_vpshrdq, /**< IA-32/AMD64 vpshrdq opcode. */ + /* 1475 */ OP_vpshrdvw, /**< IA-32/AMD64 vpshrdvw opcode. */ + /* 1476 */ OP_vpshrdvd, /**< IA-32/AMD64 vpshrdvd opcode. */ + /* 1477 */ OP_vpshrdvq, /**< IA-32/AMD64 vpshrdvq opcode. */ + OP_AFTER_LAST, OP_FIRST = OP_add, /**< First real opcode. */ OP_LAST = OP_AFTER_LAST - 1, /**< Last real opcode. */ diff --git a/suite/tests/api/ir_x86_3args_avx512_evex_mask.h b/suite/tests/api/ir_x86_3args_avx512_evex_mask.h index b09f92cc2b0..7691bf07f3a 100644 --- a/suite/tests/api/ir_x86_3args_avx512_evex_mask.h +++ b/suite/tests/api/ir_x86_3args_avx512_evex_mask.h @@ -3394,3 +3394,75 @@ OPCODE(vpopcntw_zlok7xlo, vpopcntw, vpopcntw_mask, 0, REGARG(ZMM6), REGARG(K7), REGARG(ZMM0)) OPCODE(vpopcntw_zhik7mem, vpopcntw, vpopcntw_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), MEMARG(OPSZ_64)) +OPCODE(vpcompressb_xlok0st, vpcompressb, vpcompressb_mask, 0, MEMARG(OPSZ_16), REGARG(K0), + REGARG(XMM0)) +OPCODE(vpcompressb_xlok0xlo, vpcompressb, vpcompressb_mask, 0, REGARG(XMM1), REGARG(K0), + REGARG(XMM0)) +OPCODE(vpcompressb_xhik7xhi, vpcompressb, vpcompressb_mask, X64_ONLY, REGARG(XMM31), + REGARG(K7), REGARG(XMM16)) +OPCODE(vpcompressb_ylok0st, vpcompressb, vpcompressb_mask, 0, MEMARG(OPSZ_32), REGARG(K0), + REGARG(YMM0)) +OPCODE(vpcompressb_ylok0ylo, vpcompressb, vpcompressb_mask, 0, REGARG(YMM1), REGARG(K0), + REGARG(YMM0)) +OPCODE(vpcompressb_yhik7yhi, vpcompressb, vpcompressb_mask, X64_ONLY, REGARG(YMM31), + REGARG(K7), REGARG(YMM16)) +OPCODE(vpcompressb_zlok0st, vpcompressb, vpcompressb_mask, 0, MEMARG(OPSZ_64), REGARG(K0), + REGARG(ZMM0)) +OPCODE(vpcompressb_zlok0zlo, vpcompressb, vpcompressb_mask, 0, REGARG(ZMM1), REGARG(K0), + REGARG(ZMM0)) +OPCODE(vpcompressb_zhik7zhi, vpcompressb, vpcompressb_mask, X64_ONLY, REGARG(ZMM31), + REGARG(K7), REGARG(ZMM16)) +OPCODE(vpcompressw_xlok0st, vpcompressw, vpcompressw_mask, 0, MEMARG(OPSZ_16), REGARG(K0), + REGARG(XMM0)) +OPCODE(vpcompressw_xlok0xlo, vpcompressw, vpcompressw_mask, 0, REGARG(XMM1), REGARG(K0), + REGARG(XMM0)) +OPCODE(vpcompressw_xhik7xhi, vpcompressw, vpcompressw_mask, X64_ONLY, REGARG(XMM31), + REGARG(K7), REGARG(XMM16)) +OPCODE(vpcompressw_ylok0st, vpcompressw, vpcompressw_mask, 0, MEMARG(OPSZ_32), REGARG(K0), + REGARG(YMM0)) +OPCODE(vpcompressw_ylok0ylo, vpcompressw, vpcompressw_mask, 0, REGARG(YMM1), REGARG(K0), + REGARG(YMM0)) +OPCODE(vpcompressw_yhik7yhi, vpcompressw, vpcompressw_mask, X64_ONLY, REGARG(YMM31), + REGARG(K7), REGARG(YMM16)) +OPCODE(vpcompressw_zlok0st, vpcompressw, vpcompressw_mask, 0, MEMARG(OPSZ_64), REGARG(K0), + REGARG(ZMM0)) +OPCODE(vpcompressw_zlok0zlo, vpcompressw, vpcompressw_mask, 0, REGARG(ZMM1), REGARG(K0), + REGARG(ZMM0)) +OPCODE(vpcompressw_zhik7zhi, vpcompressw, vpcompressw_mask, X64_ONLY, REGARG(ZMM31), + REGARG(K7), REGARG(ZMM16)) +OPCODE(vpexpandb_xlok0ld, vpexpandb, vpexpandb_mask, 0, REGARG(XMM0), REGARG(K0), + MEMARG(OPSZ_16)) +OPCODE(vpexpandb_xlok0xlo, vpexpandb, vpexpandb_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1)) +OPCODE(vpexpandb_xhik7xhi, vpexpandb, vpexpandb_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + REGARG(XMM31)) +OPCODE(vpexpandb_ylok0ld, vpexpandb, vpexpandb_mask, 0, REGARG(YMM0), REGARG(K0), + MEMARG(OPSZ_32)) +OPCODE(vpexpandb_ylok0ylo, vpexpandb, vpexpandb_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1)) +OPCODE(vpexpandb_yhik7yhi, vpexpandb, vpexpandb_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + REGARG(YMM31)) +OPCODE(vpexpandb_zlok0ld, vpexpandb, vpexpandb_mask, 0, REGARG(ZMM0), REGARG(K0), + MEMARG(OPSZ_64)) +OPCODE(vpexpandb_zlok0zlo, vpexpandb, vpexpandb_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1)) +OPCODE(vpexpandb_zhik7zhi, vpexpandb, vpexpandb_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + REGARG(ZMM31)) +OPCODE(vpexpandw_xlok0ld, vpexpandw, vpexpandw_mask, 0, REGARG(XMM0), REGARG(K0), + MEMARG(OPSZ_16)) +OPCODE(vpexpandw_xlok0xlo, vpexpandw, vpexpandw_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1)) +OPCODE(vpexpandw_xhik7xhi, vpexpandw, vpexpandw_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + REGARG(XMM31)) +OPCODE(vpexpandw_ylok0ld, vpexpandw, vpexpandw_mask, 0, REGARG(YMM0), REGARG(K0), + MEMARG(OPSZ_32)) +OPCODE(vpexpandw_ylok0ylo, vpexpandw, vpexpandw_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1)) +OPCODE(vpexpandw_yhik7yhi, vpexpandw, vpexpandw_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + REGARG(YMM31)) +OPCODE(vpexpandw_zlok0ld, vpexpandw, vpexpandw_mask, 0, REGARG(ZMM0), REGARG(K0), + MEMARG(OPSZ_64)) +OPCODE(vpexpandw_zlok0zlo, vpexpandw, vpexpandw_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1)) +OPCODE(vpexpandw_zhik7zhi, vpexpandw, vpexpandw_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + REGARG(ZMM31)) diff --git a/suite/tests/api/ir_x86_4args_avx512_evex_mask_A.h b/suite/tests/api/ir_x86_4args_avx512_evex_mask_A.h index b285e7a9d42..2d898838c04 100644 --- a/suite/tests/api/ir_x86_4args_avx512_evex_mask_A.h +++ b/suite/tests/api/ir_x86_4args_avx512_evex_mask_A.h @@ -3415,3 +3415,111 @@ OPCODE(vfnmsub231sd_xlok0xlom, vfnmsub231sd, vfnmsub231sd_mask, 0, OPCODE(vfnmsub231sd_xhik0xhim, vfnmsub231sd, vfnmsub231sd_mask, X64_ONLY, REGARG_PARTIAL(XMM16, OPSZ_8), REGARG(K7), REGARG_PARTIAL(XMM31, OPSZ_8), MEMARG(OPSZ_8)) +OPCODE(vpshldvw_xlok0xloxlo, vpshldvw, vpshldvw_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldvw_xlok0xlold, vpshldvw, vpshldvw_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshldvw_xhik0xhixhi, vpshldvw, vpshldvw_mask, X64_ONLY, REGARG(XMM31), REGARG(K0), + REGARG(XMM16), REGARG(XMM17)) +OPCODE(vpshldvw_xlok7xloxlo, vpshldvw, vpshldvw_mask, 0, REGARG(XMM0), REGARG(K7), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldvw_ylok0yloylo, vpshldvw, vpshldvw_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldvw_ylok0ylold, vpshldvw, vpshldvw_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshldvw_yhik0yhiyhi, vpshldvw, vpshldvw_mask, X64_ONLY, REGARG(YMM31), REGARG(K0), + REGARG(YMM16), REGARG(YMM17)) +OPCODE(vpshldvw_ylok7yloylo, vpshldvw, vpshldvw_mask, 0, REGARG(YMM0), REGARG(K7), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldvw_zlok0zlozlo, vpshldvw, vpshldvw_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshldvw_zlok0zlold, vpshldvw, vpshldvw_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshldvw_zhik0zhizhi, vpshldvw, vpshldvw_mask, X64_ONLY, REGARG(ZMM31), REGARG(K0), + REGARG(ZMM16), REGARG(ZMM17)) +OPCODE(vpshldvw_zlok7zlozlo, vpshldvw, vpshldvw_mask, 0, REGARG(ZMM0), REGARG(K7), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshldvd_xlok0xloxlo, vpshldvd, vpshldvd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldvd_xlok0xlold, vpshldvd, vpshldvd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshldvd_xlok0xlobcst, vpshldvd, vpshldvd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_4)) +OPCODE(vpshldvd_xhik0xhixhi, vpshldvd, vpshldvd_mask, X64_ONLY, REGARG(XMM31), REGARG(K0), + REGARG(XMM16), REGARG(XMM17)) +OPCODE(vpshldvd_xlok7xloxlo, vpshldvd, vpshldvd_mask, 0, REGARG(XMM0), REGARG(K7), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldvd_ylok0yloylo, vpshldvd, vpshldvd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldvd_ylok0ylold, vpshldvd, vpshldvd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshldvd_ylok0ylobcst, vpshldvd, vpshldvd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_4)) +OPCODE(vpshldvd_yhik0yhiyhi, vpshldvd, vpshldvd_mask, X64_ONLY, REGARG(YMM31), REGARG(K0), + REGARG(YMM16), REGARG(YMM17)) +OPCODE(vpshldvd_ylok7yloylo, vpshldvd, vpshldvd_mask, 0, REGARG(YMM0), REGARG(K7), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldvd_zlok0zlozlo, vpshldvd, vpshldvd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshldvd_zlok0zlold, vpshldvd, vpshldvd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshldvd_zlok0zlobcst, vpshldvd, vpshldvd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_4)) +OPCODE(vpshldvd_zhik0zhizhi, vpshldvd, vpshldvd_mask, X64_ONLY, REGARG(ZMM31), REGARG(K0), + REGARG(ZMM16), REGARG(ZMM17)) +OPCODE(vpshldvd_zlok7zlozlo, vpshldvd, vpshldvd_mask, 0, REGARG(ZMM0), REGARG(K7), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdvw_xlok0xloxlo, vpshrdvw, vpshrdvw_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdvw_xlok0xlold, vpshrdvw, vpshrdvw_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshrdvw_xhik0xhixhi, vpshrdvw, vpshrdvw_mask, X64_ONLY, REGARG(XMM31), REGARG(K0), + REGARG(XMM16), REGARG(XMM17)) +OPCODE(vpshrdvw_xlok7xloxlo, vpshrdvw, vpshrdvw_mask, 0, REGARG(XMM0), REGARG(K7), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdvw_ylok0yloylo, vpshrdvw, vpshrdvw_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdvw_ylok0ylold, vpshrdvw, vpshrdvw_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshrdvw_yhik0yhiyhi, vpshrdvw, vpshrdvw_mask, X64_ONLY, REGARG(YMM31), REGARG(K0), + REGARG(YMM16), REGARG(YMM17)) +OPCODE(vpshrdvw_ylok7yloylo, vpshrdvw, vpshrdvw_mask, 0, REGARG(YMM0), REGARG(K7), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdvw_zlok0zlozlo, vpshrdvw, vpshrdvw_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdvw_zlok0zlold, vpshrdvw, vpshrdvw_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshrdvw_zhik0zhizhi, vpshrdvw, vpshrdvw_mask, X64_ONLY, REGARG(ZMM31), REGARG(K0), + REGARG(ZMM16), REGARG(ZMM17)) +OPCODE(vpshrdvw_zlok7zlozlo, vpshrdvw, vpshrdvw_mask, 0, REGARG(ZMM0), REGARG(K7), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdvd_xlok0xloxlo, vpshrdvd, vpshrdvd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdvd_xlok0xlold, vpshrdvd, vpshrdvd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshrdvd_xlok0xlobcst, vpshrdvd, vpshrdvd_mask, 0, REGARG(XMM0), REGARG(K0), + REGARG(XMM1), MEMARG(OPSZ_4)) +OPCODE(vpshrdvd_xhik0xhixhi, vpshrdvd, vpshrdvd_mask, X64_ONLY, REGARG(XMM31), REGARG(K0), + REGARG(XMM16), REGARG(XMM17)) +OPCODE(vpshrdvd_xlok7xloxlo, vpshrdvd, vpshrdvd_mask, 0, REGARG(XMM0), REGARG(K7), + REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdvd_ylok0yloylo, vpshrdvd, vpshrdvd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdvd_ylok0ylold, vpshrdvd, vpshrdvd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshrdvd_ylok0ylobcst, vpshrdvd, vpshrdvd_mask, 0, REGARG(YMM0), REGARG(K0), + REGARG(YMM1), MEMARG(OPSZ_4)) +OPCODE(vpshrdvd_yhik0yhiyhi, vpshrdvd, vpshrdvd_mask, X64_ONLY, REGARG(YMM31), REGARG(K0), + REGARG(YMM16), REGARG(YMM17)) +OPCODE(vpshrdvd_ylok7yloylo, vpshrdvd, vpshrdvd_mask, 0, REGARG(YMM0), REGARG(K7), + REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdvd_zlok0zlozlo, vpshrdvd, vpshrdvd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdvd_zlok0zlold, vpshrdvd, vpshrdvd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshrdvd_zlok0zlobcst, vpshrdvd, vpshrdvd_mask, 0, REGARG(ZMM0), REGARG(K0), + REGARG(ZMM1), MEMARG(OPSZ_4)) +OPCODE(vpshrdvd_zhik0zhizhi, vpshrdvd, vpshrdvd_mask, X64_ONLY, REGARG(ZMM31), REGARG(K0), + REGARG(ZMM16), REGARG(ZMM17)) +OPCODE(vpshrdvd_zlok7zlozlo, vpshrdvd, vpshrdvd_mask, 0, REGARG(ZMM0), REGARG(K7), + REGARG(ZMM1), REGARG(ZMM2)) diff --git a/suite/tests/api/ir_x86_4args_avx512_evex_mask_C.h b/suite/tests/api/ir_x86_4args_avx512_evex_mask_C.h index ac2f870f584..5ec279b0ec9 100644 --- a/suite/tests/api/ir_x86_4args_avx512_evex_mask_C.h +++ b/suite/tests/api/ir_x86_4args_avx512_evex_mask_C.h @@ -2170,3 +2170,39 @@ OPCODE(vpshufbitqmb_k1zhik0mem, vpshufbitqmb, vpshufbitqmb_mask, X64_ONLY, REGAR REGARG(K0), REGARG(ZMM16), MEMARG(OPSZ_64)) OPCODE(vpshufbitqmb_k1zhik7mem, vpshufbitqmb, vpshufbitqmb_mask, X64_ONLY, REGARG(K1), REGARG(K7), REGARG(ZMM16), MEMARG(OPSZ_64)) +OPCODE(vpmultishiftqb_xlok0xloxlo, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(XMM0), + REGARG(K0), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpmultishiftqb_xlok0xlold, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(XMM0), + REGARG(K0), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpmultishiftqb_xlok0xlobcst, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(XMM0), + REGARG(K0), REGARG(XMM1), MEMARG(OPSZ_8)) +OPCODE(vpmultishiftqb_xhik7xhixhi, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpmultishiftqb_xhik7xhild, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpmultishiftqb_xhik7xhibcst, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(XMM16), REGARG(K7), REGARG(XMM31), MEMARG(OPSZ_8)) +OPCODE(vpmultishiftqb_ylok0yloylo, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(YMM0), + REGARG(K0), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpmultishiftqb_ylok0ylold, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(YMM0), + REGARG(K0), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpmultishiftqb_ylok0ylobcst, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(YMM0), + REGARG(K0), REGARG(YMM1), MEMARG(OPSZ_8)) +OPCODE(vpmultishiftqb_yhik7yhiyhi, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpmultishiftqb_yhik7yhild, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpmultishiftqb_yhik7yhibcst, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(YMM16), REGARG(K7), REGARG(YMM31), MEMARG(OPSZ_8)) +OPCODE(vpmultishiftqb_zlok0zlozlo, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(ZMM0), + REGARG(K0), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpmultishiftqb_zlok0zlold, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(ZMM0), + REGARG(K0), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpmultishiftqb_zlok0zlobcst, vpmultishiftqb, vpmultishiftqb_mask, 0, REGARG(ZMM0), + REGARG(K0), REGARG(ZMM1), MEMARG(OPSZ_8)) +OPCODE(vpmultishiftqb_zhik7zhizhi, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpmultishiftqb_zhik7zhild, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpmultishiftqb_zhik7zhibcst, vpmultishiftqb, vpmultishiftqb_mask, X64_ONLY, + REGARG(ZMM16), REGARG(K7), REGARG(ZMM31), MEMARG(OPSZ_8)) diff --git a/suite/tests/api/ir_x86_5args_avx512_evex_mask.h b/suite/tests/api/ir_x86_5args_avx512_evex_mask.h index 6003c1b9fad..908742ebaa7 100644 --- a/suite/tests/api/ir_x86_5args_avx512_evex_mask.h +++ b/suite/tests/api/ir_x86_5args_avx512_evex_mask.h @@ -1112,3 +1112,195 @@ OPCODE(vgf2p8affineinvqb_zhik7zhild, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) OPCODE(vgf2p8affineinvqb_zhik7zhibcst, vgf2p8affineinvqb, vgf2p8affineinvqb_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_8)) +OPCODE(vpshldw_xlok0xloxlo, vpshldw, vpshldw_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldw_xlok0xlold, vpshldw, vpshldw_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshldw_xhik7xhixhi, vpshldw, vpshldw_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpshldw_xhik7xhild, vpshldw, vpshldw_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpshldw_ylok0yloylo, vpshldw, vpshldw_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldw_ylok0ylold, vpshldw, vpshldw_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshldw_yhik7yhiyhi, vpshldw, vpshldw_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpshldw_yhik7yhild, vpshldw, vpshldw_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpshldw_zlok0zlozlo, vpshldw, vpshldw_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshldw_zlok0zlold, vpshldw, vpshldw_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshldw_zhik7zhizhi, vpshldw, vpshldw_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpshldw_zhik7zhild, vpshldw, vpshldw_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpshldd_xlok0xloxlo, vpshldd, vpshldd_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldd_xlok0xlold, vpshldd, vpshldd_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshldd_xlok0xlobcst, vpshldd, vpshldd_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_4)) +OPCODE(vpshldd_xhik7xhixhi, vpshldd, vpshldd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpshldd_xhik7xhild, vpshldd, vpshldd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpshldd_xhik7xhibcst, vpshldd, vpshldd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_4)) +OPCODE(vpshldd_ylok0yloylo, vpshldd, vpshldd_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldd_ylok0ylold, vpshldd, vpshldd_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshldd_ylok0ylobcst, vpshldd, vpshldd_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_4)) +OPCODE(vpshldd_yhik7yhiyhi, vpshldd, vpshldd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpshldd_yhik7yhild, vpshldd, vpshldd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpshldd_yhik7yhibcst, vpshldd, vpshldd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_4)) +OPCODE(vpshldd_zlok0zlozlo, vpshldd, vpshldd_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshldd_zlok0zlold, vpshldd, vpshldd_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshldd_zlok0zlobcst, vpshldd, vpshldd_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_4)) +OPCODE(vpshldd_zhik7zhizhi, vpshldd, vpshldd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpshldd_zhik7zhild, vpshldd, vpshldd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpshldd_zhik7zhibcst, vpshldd, vpshldd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_4)) +OPCODE(vpshldq_xlok0xloxlo, vpshldq, vpshldq_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshldq_xlok0xlold, vpshldq, vpshldq_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshldq_xlok0xlobcst, vpshldq, vpshldq_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_8)) +OPCODE(vpshldq_xhik7xhixhi, vpshldq, vpshldq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpshldq_xhik7xhild, vpshldq, vpshldq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpshldq_xhik7xhibcst, vpshldq, vpshldq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_8)) +OPCODE(vpshldq_ylok0yloylo, vpshldq, vpshldq_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshldq_ylok0ylold, vpshldq, vpshldq_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshldq_ylok0ylobcst, vpshldq, vpshldq_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_8)) +OPCODE(vpshldq_yhik7yhiyhi, vpshldq, vpshldq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpshldq_yhik7yhild, vpshldq, vpshldq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpshldq_yhik7yhibcst, vpshldq, vpshldq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_8)) +OPCODE(vpshldq_zlok0zlozlo, vpshldq, vpshldq_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshldq_zlok0zlold, vpshldq, vpshldq_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshldq_zlok0zlobcst, vpshldq, vpshldq_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_8)) +OPCODE(vpshldq_zhik7zhizhi, vpshldq, vpshldq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpshldq_zhik7zhild, vpshldq, vpshldq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpshldq_zhik7zhibcst, vpshldq, vpshldq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_8)) +OPCODE(vpshrdw_xlok0xloxlo, vpshrdw, vpshrdw_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdw_xlok0xlold, vpshrdw, vpshrdw_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshrdw_xhik7xhixhi, vpshrdw, vpshrdw_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpshrdw_xhik7xhild, vpshrdw, vpshrdw_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpshrdw_ylok0yloylo, vpshrdw, vpshrdw_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdw_ylok0ylold, vpshrdw, vpshrdw_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshrdw_yhik7yhiyhi, vpshrdw, vpshrdw_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpshrdw_yhik7yhild, vpshrdw, vpshrdw_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpshrdw_zlok0zlozlo, vpshrdw, vpshrdw_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdw_zlok0zlold, vpshrdw, vpshrdw_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshrdw_zhik7zhizhi, vpshrdw, vpshrdw_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpshrdw_zhik7zhild, vpshrdw, vpshrdw_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpshrdd_xlok0xloxlo, vpshrdd, vpshrdd_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdd_xlok0xlold, vpshrdd, vpshrdd_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshrdd_xlok0xlobcst, vpshrdd, vpshrdd_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_4)) +OPCODE(vpshrdd_xhik7xhixhi, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpshrdd_xhik7xhild, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpshrdd_xhik7xhibcst, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_4)) +OPCODE(vpshrdd_ylok0yloylo, vpshrdd, vpshrdd_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdd_ylok0ylold, vpshrdd, vpshrdd_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshrdd_ylok0ylobcst, vpshrdd, vpshrdd_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_4)) +OPCODE(vpshrdd_yhik7yhiyhi, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpshrdd_yhik7yhild, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpshrdd_yhik7yhibcst, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_4)) +OPCODE(vpshrdd_zlok0zlozlo, vpshrdd, vpshrdd_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdd_zlok0zlold, vpshrdd, vpshrdd_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshrdd_zlok0zlobcst, vpshrdd, vpshrdd_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_4)) +OPCODE(vpshrdd_zhik7zhizhi, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpshrdd_zhik7zhild, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpshrdd_zhik7zhibcst, vpshrdd, vpshrdd_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_4)) +OPCODE(vpshrdq_xlok0xloxlo, vpshrdq, vpshrdq_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), REGARG(XMM2)) +OPCODE(vpshrdq_xlok0xlold, vpshrdq, vpshrdq_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_16)) +OPCODE(vpshrdq_xlok0xlobcst, vpshrdq, vpshrdq_mask, 0, REGARG(XMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(XMM1), MEMARG(OPSZ_8)) +OPCODE(vpshrdq_xhik7xhixhi, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM17), REGARG(XMM31)) +OPCODE(vpshrdq_xhik7xhild, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_16)) +OPCODE(vpshrdq_xhik7xhibcst, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(XMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(XMM31), MEMARG(OPSZ_8)) +OPCODE(vpshrdq_ylok0yloylo, vpshrdq, vpshrdq_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), REGARG(YMM2)) +OPCODE(vpshrdq_ylok0ylold, vpshrdq, vpshrdq_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_32)) +OPCODE(vpshrdq_ylok0ylobcst, vpshrdq, vpshrdq_mask, 0, REGARG(YMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(YMM1), MEMARG(OPSZ_8)) +OPCODE(vpshrdq_yhik7yhiyhi, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM17), REGARG(YMM31)) +OPCODE(vpshrdq_yhik7yhild, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_32)) +OPCODE(vpshrdq_yhik7yhibcst, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(YMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(YMM31), MEMARG(OPSZ_8)) +OPCODE(vpshrdq_zlok0zlozlo, vpshrdq, vpshrdq_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), REGARG(ZMM2)) +OPCODE(vpshrdq_zlok0zlold, vpshrdq, vpshrdq_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_64)) +OPCODE(vpshrdq_zlok0zlobcst, vpshrdq, vpshrdq_mask, 0, REGARG(ZMM0), REGARG(K0), + IMMARG(OPSZ_1), REGARG(ZMM1), MEMARG(OPSZ_8)) +OPCODE(vpshrdq_zhik7zhizhi, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM17), REGARG(ZMM31)) +OPCODE(vpshrdq_zhik7zhild, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_64)) +OPCODE(vpshrdq_zhik7zhibcst, vpshrdq, vpshrdq_mask, X64_ONLY, REGARG(ZMM16), REGARG(K7), + IMMARG(OPSZ_1), REGARG(ZMM31), MEMARG(OPSZ_8)) diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect index c9fee1334ef..75e5e47a790 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect @@ -134330,6 +134330,25 @@ test_s: 62 f2 55 48 7d 72 80 vpermt2b %zmm5, -0x00002000(%edx), %zmm6 {%k0} 62 f2 55 48 7d b2 c0 vpermt2b %zmm5, -0x00002040(%edx), %zmm6 {%k0} df ff ff + 62 f2 d5 48 83 f4 vpmultishiftqb %zmm5, %zmm4, %zmm6 {%k0} + 62 f2 d5 4f 83 f4 vpmultishiftqb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 d5 cf 83 f4 vpmultishiftqb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 d5 48 83 31 vpmultishiftqb %zmm5, (%ecx), %zmm6 {%k0} + 62 f2 d5 48 83 b4 f4 vpmultishiftqb %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 58 83 30 vpmultishiftqb %zmm5, (%eax), %zmm6 {%k0} + 62 f2 d5 48 83 72 7f vpmultishiftqb %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 d5 48 83 b2 00 vpmultishiftqb %zmm5, 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 d5 48 83 72 80 vpmultishiftqb %zmm5, -0x00002000(%edx), %zmm6 {%k0} + 62 f2 d5 48 83 b2 c0 vpmultishiftqb %zmm5, -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 d5 58 83 72 7f vpmultishiftqb %zmm5, 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 d5 58 83 b2 00 vpmultishiftqb %zmm5, 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 d5 58 83 72 80 vpmultishiftqb %zmm5, -0x00000400(%edx), %zmm6 {%k0} + 62 f2 d5 58 83 b2 f8 vpmultishiftqb %zmm5, -0x00000408(%edx), %zmm6 {%k0} + fb ff ff 62 f2 55 48 8d f4 vpermb %zmm5, %zmm4, %zmm6 {%k0} 62 f2 55 4f 8d f4 vpermb %zmm5, %zmm4, %zmm6 {%k7} 62 f2 55 cf 8d f4 vpermb %zmm5, %zmm4, %zmm6 {%k7} @@ -134366,6 +134385,932 @@ test_s: 62 f2 55 48 7d 72 80 vpermt2b %zmm5, -0x00002000(%edx), %zmm6 {%k0} 62 f2 55 48 7d b2 c0 vpermt2b %zmm5, -0x00002040(%edx), %zmm6 {%k0} df ff ff + 62 f2 d5 48 83 f4 vpmultishiftqb %zmm5, %zmm4, %zmm6 {%k0} + 62 f2 d5 4f 83 f4 vpmultishiftqb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 d5 cf 83 f4 vpmultishiftqb %zmm5, %zmm4, %zmm6 {%k7} + 62 f2 d5 48 83 31 vpmultishiftqb %zmm5, (%ecx), %zmm6 {%k0} + 62 f2 d5 48 83 b4 f4 vpmultishiftqb %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 58 83 30 vpmultishiftqb %zmm5, (%eax), %zmm6 {%k0} + 62 f2 d5 48 83 72 7f vpmultishiftqb %zmm5, 0x00001fc0(%edx), %zmm6 {%k0} + 62 f2 d5 48 83 b2 00 vpmultishiftqb %zmm5, 0x00002000(%edx), %zmm6 {%k0} + 20 00 00 + 62 f2 d5 48 83 72 80 vpmultishiftqb %zmm5, -0x00002000(%edx), %zmm6 {%k0} + 62 f2 d5 48 83 b2 c0 vpmultishiftqb %zmm5, -0x00002040(%edx), %zmm6 {%k0} + df ff ff + 62 f2 d5 58 83 72 7f vpmultishiftqb %zmm5, 0x000003f8(%edx), %zmm6 {%k0} + 62 f2 d5 58 83 b2 00 vpmultishiftqb %zmm5, 0x00000400(%edx), %zmm6 {%k0} + 04 00 00 + 62 f2 d5 58 83 72 80 vpmultishiftqb %zmm5, -0x00000400(%edx), %zmm6 {%k0} + 62 f2 d5 58 83 b2 f8 vpmultishiftqb %zmm5, -0x00000408(%edx), %zmm6 {%k0} + fb ff ff + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 62 f2 7d 4f 63 31 vpcompressb %zmm6, (%ecx) {%k7} + 62 f2 7d 48 63 b4 f4 vpcompressb %zmm6, -0x0001e240(%esp,%esi,8) {%k0} + c0 1d fe ff + 62 f2 7d 48 63 72 7e vpcompressb %zmm6, 0x000001f8(%edx) {%k0} + 62 f2 7d 48 63 ee vpcompressb %zmm5, %zmm6 {%k0} + 62 f2 7d 4f 63 ee vpcompressb %zmm5, %zmm6 {%k7} + 62 f2 7d cf 63 ee vpcompressb %zmm5, %zmm6 {%k7} + 62 f2 fd 4f 63 31 vpcompressw %zmm6, (%ecx) {%k7} + 62 f2 fd 48 63 b4 f4 vpcompressw %zmm6, -0x0001e240(%esp,%esi,8) {%k0} + c0 1d fe ff + 62 f2 fd 48 63 72 40 vpcompressw %zmm6, 0x00000200(%edx) {%k0} + 62 f2 fd 48 63 ee vpcompressw %zmm5, %zmm6 {%k0} + 62 f2 fd 4f 63 ee vpcompressw %zmm5, %zmm6 {%k7} + 62 f2 fd cf 63 ee vpcompressw %zmm5, %zmm6 {%k7} + 62 f2 7d 4f 62 31 vpexpandb (%ecx), %zmm6 {%k7} + 62 f2 7d cf 62 31 vpexpandb (%ecx), %zmm6 {%k7} + 62 f2 7d 48 62 b4 f4 vpexpandb -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 48 62 72 7e vpexpandb 0x000001f8(%edx), %zmm6 {%k0} + 62 f2 7d 48 62 f5 vpexpandb %zmm5, %zmm6 {%k0} + 62 f2 7d 4f 62 f5 vpexpandb %zmm5, %zmm6 {%k7} + 62 f2 7d cf 62 f5 vpexpandb %zmm5, %zmm6 {%k7} + 62 f2 fd 4f 62 31 vpexpandw (%ecx), %zmm6 {%k7} + 62 f2 fd cf 62 31 vpexpandw (%ecx), %zmm6 {%k7} + 62 f2 fd 48 62 b4 f4 vpexpandw -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 48 62 72 40 vpexpandw 0x00000200(%edx), %zmm6 {%k0} + 62 f2 fd 48 62 f5 vpexpandw %zmm5, %zmm6 {%k0} + 62 f2 fd 4f 62 f5 vpexpandw %zmm5, %zmm6 {%k7} + 62 f2 fd cf 62 f5 vpexpandw %zmm5, %zmm6 {%k7} + 62 f2 d5 48 70 f4 vpshldvw %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 70 f4 vpshldvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 70 f4 vpshldvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 70 b4 f4 vpshldvw %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 70 72 02 vpshldvw %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 48 71 f4 vpshldvd %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 55 4f 71 f4 vpshldvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 cf 71 f4 vpshldvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 48 71 b4 f4 vpshldvd %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 55 48 71 72 02 vpshldvd %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 58 71 72 7f vpshldvd %zmm5, 0x000001fc(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 48 71 f4 vpshldvq %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 71 f4 vpshldvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 71 f4 vpshldvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 71 b4 f4 vpshldvq %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 71 72 02 vpshldvq %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 58 71 72 7f vpshldvq %zmm5, 0x000003f8(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 48 72 f4 vpshrdvw %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 72 f4 vpshrdvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 72 f4 vpshrdvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 72 b4 f4 vpshrdvw %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 72 72 02 vpshrdvw %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 48 73 f4 vpshrdvd %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 55 4f 73 f4 vpshrdvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 cf 73 f4 vpshrdvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 48 73 b4 f4 vpshrdvd %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 55 48 73 72 02 vpshrdvd %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 58 73 72 7f vpshrdvd %zmm5, 0x000001fc(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 48 73 f4 vpshrdvq %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 73 f4 vpshrdvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 73 f4 vpshrdvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 73 b4 f4 vpshrdvq %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 73 72 02 vpshrdvq %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 58 73 72 7f vpshrdvq %zmm5, 0x000003f8(%edx), %zmm6, %zmm6 {%k0} + 62 f3 d5 4f 70 f4 ab vpshldw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 70 f4 ab vpshldw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 70 f4 7b vpshldw $0x7b, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 48 70 b4 f4 vpshldw $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 70 72 02 vpshldw $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 4f 71 f4 ab vpshldd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 cf 71 f4 ab vpshldd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 48 71 f4 7b vpshldd $0x7b, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 55 48 71 b4 f4 vpshldd $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 55 48 71 72 02 vpshldd $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 58 71 72 7f vpshldd $0x7b, %zmm5, 0x000001fc(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 4f 71 f4 ab vpshldq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 71 f4 ab vpshldq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 71 b4 f4 vpshldq $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 71 72 02 vpshldq $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 71 72 7f vpshldq $0x7b, %zmm5, 0x000003f8(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 48 72 f4 ab vpshrdw $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f 72 f4 ab vpshrdw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 72 f4 ab vpshrdw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 72 b4 f4 vpshrdw $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 72 72 02 vpshrdw $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 48 73 f4 ab vpshrdd $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 55 4f 73 f4 ab vpshrdd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 cf 73 f4 ab vpshrdd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 48 73 b4 f4 vpshrdd $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 55 48 73 72 02 vpshrdd $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 58 73 72 7f vpshrdd $0x7b, %zmm5, 0x000001fc(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 4f 73 f4 ab vpshrdq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 73 f4 ab vpshrdq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 73 f4 7b vpshrdq $0x7b, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 48 73 b4 f4 vpshrdq $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 73 72 02 vpshrdq $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 73 72 7f vpshrdq $0x7b, %zmm5, 0x000003f8(%edx), %zmm6 {%k0} + 7b + 62 f2 7d 4f 63 31 vpcompressb %zmm6, (%ecx) {%k7} + 62 f2 7d 48 63 b4 f4 vpcompressb %zmm6, -0x0001e240(%esp,%esi,8) {%k0} + c0 1d fe ff + 62 f2 7d 48 63 72 7e vpcompressb %zmm6, 0x000001f8(%edx) {%k0} + 62 f2 7d 48 63 ee vpcompressb %zmm5, %zmm6 {%k0} + 62 f2 7d 4f 63 ee vpcompressb %zmm5, %zmm6 {%k7} + 62 f2 7d cf 63 ee vpcompressb %zmm5, %zmm6 {%k7} + 62 f2 fd 4f 63 31 vpcompressw %zmm6, (%ecx) {%k7} + 62 f2 fd 48 63 b4 f4 vpcompressw %zmm6, -0x0001e240(%esp,%esi,8) {%k0} + c0 1d fe ff + 62 f2 fd 48 63 72 40 vpcompressw %zmm6, 0x00000200(%edx) {%k0} + 62 f2 fd 48 63 ee vpcompressw %zmm5, %zmm6 {%k0} + 62 f2 fd 4f 63 ee vpcompressw %zmm5, %zmm6 {%k7} + 62 f2 fd cf 63 ee vpcompressw %zmm5, %zmm6 {%k7} + 62 f2 7d 4f 62 31 vpexpandb (%ecx), %zmm6 {%k7} + 62 f2 7d cf 62 31 vpexpandb (%ecx), %zmm6 {%k7} + 62 f2 7d 48 62 b4 f4 vpexpandb -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 7d 48 62 72 7e vpexpandb 0x000001f8(%edx), %zmm6 {%k0} + 62 f2 7d 48 62 f5 vpexpandb %zmm5, %zmm6 {%k0} + 62 f2 7d 4f 62 f5 vpexpandb %zmm5, %zmm6 {%k7} + 62 f2 7d cf 62 f5 vpexpandb %zmm5, %zmm6 {%k7} + 62 f2 fd 4f 62 31 vpexpandw (%ecx), %zmm6 {%k7} + 62 f2 fd cf 62 31 vpexpandw (%ecx), %zmm6 {%k7} + 62 f2 fd 48 62 b4 f4 vpexpandw -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff + 62 f2 fd 48 62 72 40 vpexpandw 0x00000200(%edx), %zmm6 {%k0} + 62 f2 fd 48 62 f5 vpexpandw %zmm5, %zmm6 {%k0} + 62 f2 fd 4f 62 f5 vpexpandw %zmm5, %zmm6 {%k7} + 62 f2 fd cf 62 f5 vpexpandw %zmm5, %zmm6 {%k7} + 62 f2 d5 48 70 f4 vpshldvw %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 70 f4 vpshldvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 70 f4 vpshldvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 70 b4 f4 vpshldvw %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 70 72 02 vpshldvw %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 48 71 f4 vpshldvd %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 55 4f 71 f4 vpshldvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 cf 71 f4 vpshldvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 48 71 b4 f4 vpshldvd %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 55 48 71 72 02 vpshldvd %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 58 71 72 7f vpshldvd %zmm5, 0x000001fc(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 48 71 f4 vpshldvq %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 71 f4 vpshldvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 71 f4 vpshldvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 71 b4 f4 vpshldvq %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 71 72 02 vpshldvq %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 58 71 72 7f vpshldvq %zmm5, 0x000003f8(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 48 72 f4 vpshrdvw %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 72 f4 vpshrdvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 72 f4 vpshrdvw %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 72 b4 f4 vpshrdvw %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 72 72 02 vpshrdvw %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 48 73 f4 vpshrdvd %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 55 4f 73 f4 vpshrdvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 cf 73 f4 vpshrdvd %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 55 48 73 b4 f4 vpshrdvd %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 55 48 73 72 02 vpshrdvd %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 55 58 73 72 7f vpshrdvd %zmm5, 0x000001fc(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 48 73 f4 vpshrdvq %zmm5, %zmm4, %zmm6, %zmm6 {%k0} + 62 f2 d5 4f 73 f4 vpshrdvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 cf 73 f4 vpshrdvq %zmm5, %zmm4, %zmm6, %zmm6 {%k7} + 62 f2 d5 48 73 b4 f4 vpshrdvq %zmm5, -0x0001e240(%esp,%esi,8), %zmm6, %zmm6 {%k0} + c0 1d fe ff + 62 f2 d5 48 73 72 02 vpshrdvq %zmm5, 0x80(%edx), %zmm6, %zmm6 {%k0} + 62 f2 d5 58 73 72 7f vpshrdvq %zmm5, 0x000003f8(%edx), %zmm6, %zmm6 {%k0} + 62 f3 d5 48 70 f4 ab vpshldw $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f 70 f4 ab vpshldw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 70 f4 ab vpshldw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 70 b4 f4 vpshldw $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 70 72 02 vpshldw $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 48 71 f4 ab vpshldd $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 55 4f 71 f4 ab vpshldd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 cf 71 f4 ab vpshldd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 48 71 b4 f4 vpshldd $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 55 48 71 72 02 vpshldd $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 58 71 72 7f vpshldd $0x7b, %zmm5, 0x000001fc(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 48 71 f4 ab vpshldq $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f 71 f4 ab vpshldq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 71 f4 ab vpshldq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 71 b4 f4 vpshldq $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 71 72 02 vpshldq $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 71 72 7f vpshldq $0x7b, %zmm5, 0x000003f8(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 48 72 f4 ab vpshrdw $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f 72 f4 ab vpshrdw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 72 f4 ab vpshrdw $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 72 b4 f4 vpshrdw $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 72 72 02 vpshrdw $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 48 73 f4 ab vpshrdd $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 55 4f 73 f4 ab vpshrdd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 cf 73 f4 ab vpshrdd $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 55 48 73 b4 f4 vpshrdd $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 55 48 73 72 02 vpshrdd $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 55 58 73 72 7f vpshrdd $0x7b, %zmm5, 0x000001fc(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 48 73 f4 ab vpshrdq $0xab, %zmm5, %zmm4, %zmm6 {%k0} + 62 f3 d5 4f 73 f4 ab vpshrdq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 cf 73 f4 ab vpshrdq $0xab, %zmm5, %zmm4, %zmm6 {%k7} + 62 f3 d5 48 73 b4 f4 vpshrdq $0x7b, %zmm5, -0x0001e240(%esp,%esi,8), %zmm6 {%k0} + c0 1d fe ff 7b + 62 f3 d5 48 73 72 02 vpshrdq $0x7b, %zmm5, 0x80(%edx), %zmm6 {%k0} + 7b + 62 f3 d5 58 73 72 7f vpshrdq $0x7b, %zmm5, 0x000003f8(%edx), %zmm6 {%k0} + 7b + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 62 f2 7d 0f 63 b4 f4 vpcompressb %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 7d 0f 63 72 7e vpcompressb %xmm6, 0x000001f8(%edx) {%k7} + 62 f2 7d 2f 63 b4 f4 vpcompressb %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 7d 2f 63 72 7e vpcompressb %ymm6, 0x000001f8(%edx) {%k7} + 62 f2 7d 0f 63 ee vpcompressb %xmm5, %xmm6 {%k7} + 62 f2 7d 8f 63 ee vpcompressb %xmm5, %xmm6 {%k7} + 62 f2 7d 2f 63 ee vpcompressb %ymm5, %ymm6 {%k7} + 62 f2 7d af 63 ee vpcompressb %ymm5, %ymm6 {%k7} + 62 f2 fd 0f 63 b4 f4 vpcompressw %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 fd 0f 63 72 40 vpcompressw %xmm6, 0x00000200(%edx) {%k7} + 62 f2 fd 2f 63 b4 f4 vpcompressw %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 fd 2f 63 72 40 vpcompressw %ymm6, 0x00000200(%edx) {%k7} + 62 f2 fd 0f 63 ee vpcompressw %xmm5, %xmm6 {%k7} + 62 f2 fd 8f 63 ee vpcompressw %xmm5, %xmm6 {%k7} + 62 f2 fd 2f 63 ee vpcompressw %ymm5, %ymm6 {%k7} + 62 f2 fd af 63 ee vpcompressw %ymm5, %ymm6 {%k7} + 62 f2 7d 8f 62 31 vpexpandb (%ecx), %xmm6 {%k7} + 62 f2 7d 0f 62 b4 f4 vpexpandb -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 7d 0f 62 72 7e vpexpandb 0x000001f8(%edx), %xmm6 {%k7} + 62 f2 7d af 62 31 vpexpandb (%ecx), %ymm6 {%k7} + 62 f2 7d 2f 62 b4 f4 vpexpandb -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 7d 2f 62 72 7e vpexpandb 0x000001f8(%edx), %ymm6 {%k7} + 62 f2 7d 0f 62 f5 vpexpandb %xmm5, %xmm6 {%k7} + 62 f2 7d 8f 62 f5 vpexpandb %xmm5, %xmm6 {%k7} + 62 f2 7d 2f 62 f5 vpexpandb %ymm5, %ymm6 {%k7} + 62 f2 7d af 62 f5 vpexpandb %ymm5, %ymm6 {%k7} + 62 f2 fd 8f 62 31 vpexpandw (%ecx), %xmm6 {%k7} + 62 f2 fd 0f 62 b4 f4 vpexpandw -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 fd 0f 62 72 40 vpexpandw 0x00000200(%edx), %xmm6 {%k7} + 62 f2 fd af 62 31 vpexpandw (%ecx), %ymm6 {%k7} + 62 f2 fd 2f 62 b4 f4 vpexpandw -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 fd 2f 62 72 40 vpexpandw 0x00000200(%edx), %ymm6 {%k7} + 62 f2 fd 0f 62 f5 vpexpandw %xmm5, %xmm6 {%k7} + 62 f2 fd 8f 62 f5 vpexpandw %xmm5, %xmm6 {%k7} + 62 f2 fd 2f 62 f5 vpexpandw %ymm5, %ymm6 {%k7} + 62 f2 fd af 62 f5 vpexpandw %ymm5, %ymm6 {%k7} + 62 f2 d5 0f 70 f4 vpshldvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 70 f4 vpshldvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 70 b4 f4 vpshldvw %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 70 72 7f vpshldvw %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 70 f4 vpshldvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 70 f4 vpshldvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 70 b4 f4 vpshldvw %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 70 72 7f vpshldvw %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 0f 71 f4 vpshldvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 8f 71 f4 vpshldvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 0f 71 b4 f4 vpshldvd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 71 72 7f vpshldvd %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 1f 71 72 7f vpshldvd %xmm5, 0x000001fc(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 2f 71 f4 vpshldvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 af 71 f4 vpshldvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 2f 71 b4 f4 vpshldvd %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 71 72 7f vpshldvd %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 3f 71 72 7f vpshldvd %ymm5, 0x000001fc(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 0f 71 f4 vpshldvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 71 f4 vpshldvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 71 b4 f4 vpshldvq %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 71 72 7f vpshldvq %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 1f 71 72 7f vpshldvq %xmm5, 0x000003f8(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 71 f4 vpshldvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 71 f4 vpshldvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 71 b4 f4 vpshldvq %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 71 72 7f vpshldvq %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 3f 71 72 7f vpshldvq %ymm5, 0x000003f8(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 0f 72 f4 vpshrdvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 72 f4 vpshrdvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 72 b4 f4 vpshrdvw %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 72 72 7f vpshrdvw %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 72 f4 vpshrdvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 72 f4 vpshrdvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 72 b4 f4 vpshrdvw %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 72 72 7f vpshrdvw %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 0f 73 f4 vpshrdvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 8f 73 f4 vpshrdvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 0f 73 b4 f4 vpshrdvd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 73 72 7f vpshrdvd %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 1f 73 72 7f vpshrdvd %xmm5, 0x000001fc(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 2f 73 f4 vpshrdvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 af 73 f4 vpshrdvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 2f 73 b4 f4 vpshrdvd %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 73 72 7f vpshrdvd %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 3f 73 72 7f vpshrdvd %ymm5, 0x000001fc(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 0f 73 f4 vpshrdvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 73 f4 vpshrdvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 73 b4 f4 vpshrdvq %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 73 72 7f vpshrdvq %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 1f 73 72 7f vpshrdvq %xmm5, 0x000003f8(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 73 f4 vpshrdvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 73 f4 vpshrdvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 73 b4 f4 vpshrdvq %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 73 72 7f vpshrdvq %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 3f 73 72 7f vpshrdvq %ymm5, 0x000003f8(%edx), %ymm6, %ymm6 {%k7} + 62 f3 d5 0f 70 f4 ab vpshldw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 70 f4 ab vpshldw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 70 b4 f4 vpshldw $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 70 72 7f vpshldw $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 70 f4 ab vpshldw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 70 f4 ab vpshldw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 70 b4 f4 vpshldw $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 70 72 7f vpshldw $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 0f 71 f4 ab vpshldd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 8f 71 f4 ab vpshldd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 0f 71 b4 f4 vpshldd $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 0f 71 72 7f vpshldd $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 55 1f 71 72 7f vpshldd $0x7b, %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 7b + 62 f3 55 2f 71 f4 ab vpshldd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 af 71 f4 ab vpshldd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 2f 71 b4 f4 vpshldd $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 2f 71 72 7f vpshldd $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 3f 71 72 7f vpshldd $0x7b, %ymm5, 0x000001fc(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f 71 f4 ab vpshldq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 71 f4 ab vpshldq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 71 b4 f4 vpshldq $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 71 72 7f vpshldq $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f 71 72 7f vpshldq $0x7b, %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 71 f4 ab vpshldq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 71 f4 ab vpshldq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 71 b4 f4 vpshldq $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 71 72 7f vpshldq $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f 71 72 7f vpshldq $0x7b, %ymm5, 0x000003f8(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f 72 f4 ab vpshrdw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 72 f4 ab vpshrdw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 72 b4 f4 vpshrdw $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 72 72 7f vpshrdw $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 72 f4 ab vpshrdw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 72 f4 ab vpshrdw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 72 b4 f4 vpshrdw $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 72 72 7f vpshrdw $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 0f 73 f4 ab vpshrdd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 8f 73 f4 ab vpshrdd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 0f 73 b4 f4 vpshrdd $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 0f 73 72 7f vpshrdd $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 55 1f 73 72 7f vpshrdd $0x7b, %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 7b + 62 f3 55 2f 73 f4 ab vpshrdd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 af 73 f4 ab vpshrdd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 2f 73 b4 f4 vpshrdd $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 2f 73 72 7f vpshrdd $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 3f 73 72 7f vpshrdd $0x7b, %ymm5, 0x000001fc(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f 73 f4 ab vpshrdq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 73 f4 ab vpshrdq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 73 b4 f4 vpshrdq $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 73 72 7f vpshrdq $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f 73 72 7f vpshrdq $0x7b, %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 73 f4 ab vpshrdq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 73 f4 ab vpshrdq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 73 b4 f4 vpshrdq $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 73 72 7f vpshrdq $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f 73 72 7f vpshrdq $0x7b, %ymm5, 0x000003f8(%edx), %ymm6 {%k7} + 7b + 62 f2 7d 0f 63 b4 f4 vpcompressb %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 7d 0f 63 72 7e vpcompressb %xmm6, 0x000001f8(%edx) {%k7} + 62 f2 7d 2f 63 b4 f4 vpcompressb %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 7d 2f 63 72 7e vpcompressb %ymm6, 0x000001f8(%edx) {%k7} + 62 f2 7d 0f 63 ee vpcompressb %xmm5, %xmm6 {%k7} + 62 f2 7d 8f 63 ee vpcompressb %xmm5, %xmm6 {%k7} + 62 f2 7d 2f 63 ee vpcompressb %ymm5, %ymm6 {%k7} + 62 f2 7d af 63 ee vpcompressb %ymm5, %ymm6 {%k7} + 62 f2 fd 0f 63 b4 f4 vpcompressw %xmm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 fd 0f 63 72 40 vpcompressw %xmm6, 0x00000200(%edx) {%k7} + 62 f2 fd 2f 63 b4 f4 vpcompressw %ymm6, -0x0001e240(%esp,%esi,8) {%k7} + c0 1d fe ff + 62 f2 fd 2f 63 72 40 vpcompressw %ymm6, 0x00000200(%edx) {%k7} + 62 f2 fd 0f 63 ee vpcompressw %xmm5, %xmm6 {%k7} + 62 f2 fd 8f 63 ee vpcompressw %xmm5, %xmm6 {%k7} + 62 f2 fd 2f 63 ee vpcompressw %ymm5, %ymm6 {%k7} + 62 f2 fd af 63 ee vpcompressw %ymm5, %ymm6 {%k7} + 62 f2 7d 8f 62 31 vpexpandb (%ecx), %xmm6 {%k7} + 62 f2 7d 0f 62 b4 f4 vpexpandb -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 7d 0f 62 72 7e vpexpandb 0x000001f8(%edx), %xmm6 {%k7} + 62 f2 7d af 62 31 vpexpandb (%ecx), %ymm6 {%k7} + 62 f2 7d 2f 62 b4 f4 vpexpandb -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 7d 2f 62 72 7e vpexpandb 0x000001f8(%edx), %ymm6 {%k7} + 62 f2 7d 0f 62 f5 vpexpandb %xmm5, %xmm6 {%k7} + 62 f2 7d 8f 62 f5 vpexpandb %xmm5, %xmm6 {%k7} + 62 f2 7d 2f 62 f5 vpexpandb %ymm5, %ymm6 {%k7} + 62 f2 7d af 62 f5 vpexpandb %ymm5, %ymm6 {%k7} + 62 f2 fd 8f 62 31 vpexpandw (%ecx), %xmm6 {%k7} + 62 f2 fd 0f 62 b4 f4 vpexpandw -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 fd 0f 62 72 40 vpexpandw 0x00000200(%edx), %xmm6 {%k7} + 62 f2 fd af 62 31 vpexpandw (%ecx), %ymm6 {%k7} + 62 f2 fd 2f 62 b4 f4 vpexpandw -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 fd 2f 62 72 40 vpexpandw 0x00000200(%edx), %ymm6 {%k7} + 62 f2 fd 0f 62 f5 vpexpandw %xmm5, %xmm6 {%k7} + 62 f2 fd 8f 62 f5 vpexpandw %xmm5, %xmm6 {%k7} + 62 f2 fd 2f 62 f5 vpexpandw %ymm5, %ymm6 {%k7} + 62 f2 fd af 62 f5 vpexpandw %ymm5, %ymm6 {%k7} + 62 f2 d5 0f 70 f4 vpshldvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 70 f4 vpshldvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 70 b4 f4 vpshldvw %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 70 72 7f vpshldvw %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 70 f4 vpshldvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 70 f4 vpshldvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 70 b4 f4 vpshldvw %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 70 72 7f vpshldvw %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 0f 71 f4 vpshldvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 8f 71 f4 vpshldvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 0f 71 b4 f4 vpshldvd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 71 72 7f vpshldvd %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 1f 71 72 7f vpshldvd %xmm5, 0x000001fc(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 2f 71 f4 vpshldvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 af 71 f4 vpshldvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 2f 71 b4 f4 vpshldvd %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 71 72 7f vpshldvd %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 3f 71 72 7f vpshldvd %ymm5, 0x000001fc(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 0f 71 f4 vpshldvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 71 f4 vpshldvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 71 b4 f4 vpshldvq %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 71 72 7f vpshldvq %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 1f 71 72 7f vpshldvq %xmm5, 0x000003f8(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 71 f4 vpshldvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 71 f4 vpshldvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 71 b4 f4 vpshldvq %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 71 72 7f vpshldvq %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 3f 71 72 7f vpshldvq %ymm5, 0x000003f8(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 0f 72 f4 vpshrdvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 72 f4 vpshrdvw %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 72 b4 f4 vpshrdvw %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 72 72 7f vpshrdvw %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 72 f4 vpshrdvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 72 f4 vpshrdvw %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 72 b4 f4 vpshrdvw %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 72 72 7f vpshrdvw %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 0f 73 f4 vpshrdvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 8f 73 f4 vpshrdvd %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 55 0f 73 b4 f4 vpshrdvd %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 73 72 7f vpshrdvd %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 1f 73 72 7f vpshrdvd %xmm5, 0x000001fc(%edx), %xmm6, %xmm6 {%k7} + 62 f2 55 2f 73 f4 vpshrdvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 af 73 f4 vpshrdvd %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 55 2f 73 b4 f4 vpshrdvd %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 73 72 7f vpshrdvd %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 55 3f 73 72 7f vpshrdvd %ymm5, 0x000001fc(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 0f 73 f4 vpshrdvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 8f 73 f4 vpshrdvq %xmm5, %xmm4, %xmm6, %xmm6 {%k7} + 62 f2 d5 0f 73 b4 f4 vpshrdvq %xmm5, -0x0001e240(%esp,%esi,8), %xmm6, %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 0f 73 72 7f vpshrdvq %xmm5, 0x000007f0(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 1f 73 72 7f vpshrdvq %xmm5, 0x000003f8(%edx), %xmm6, %xmm6 {%k7} + 62 f2 d5 2f 73 f4 vpshrdvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 af 73 f4 vpshrdvq %ymm5, %ymm4, %ymm6, %ymm6 {%k7} + 62 f2 d5 2f 73 b4 f4 vpshrdvq %ymm5, -0x0001e240(%esp,%esi,8), %ymm6, %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 2f 73 72 7f vpshrdvq %ymm5, 0x00000fe0(%edx), %ymm6, %ymm6 {%k7} + 62 f2 d5 3f 73 72 7f vpshrdvq %ymm5, 0x000003f8(%edx), %ymm6, %ymm6 {%k7} + 62 f3 d5 0f 70 f4 ab vpshldw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 70 f4 ab vpshldw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 70 b4 f4 vpshldw $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 70 72 7f vpshldw $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 70 f4 ab vpshldw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 70 f4 ab vpshldw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 70 b4 f4 vpshldw $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 70 72 7f vpshldw $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 0f 71 f4 ab vpshldd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 8f 71 f4 ab vpshldd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 0f 71 b4 f4 vpshldd $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 0f 71 72 7f vpshldd $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 55 1f 71 72 7f vpshldd $0x7b, %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 7b + 62 f3 55 2f 71 f4 ab vpshldd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 af 71 f4 ab vpshldd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 2f 71 b4 f4 vpshldd $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 2f 71 72 7f vpshldd $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 3f 71 72 7f vpshldd $0x7b, %ymm5, 0x000001fc(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f 71 f4 ab vpshldq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 71 f4 ab vpshldq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 71 b4 f4 vpshldq $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 71 72 7f vpshldq $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f 71 72 7f vpshldq $0x7b, %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 71 f4 ab vpshldq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 71 f4 ab vpshldq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 71 b4 f4 vpshldq $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 71 72 7f vpshldq $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f 71 72 7f vpshldq $0x7b, %ymm5, 0x000003f8(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f 72 f4 ab vpshrdw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 72 f4 ab vpshrdw $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 72 b4 f4 vpshrdw $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 72 72 7f vpshrdw $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 72 f4 ab vpshrdw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 72 f4 ab vpshrdw $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 72 b4 f4 vpshrdw $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 72 72 7f vpshrdw $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 0f 73 f4 ab vpshrdd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 8f 73 f4 ab vpshrdd $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 55 0f 73 b4 f4 vpshrdd $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 0f 73 72 7f vpshrdd $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 55 1f 73 72 7f vpshrdd $0x7b, %xmm5, 0x000001fc(%edx), %xmm6 {%k7} + 7b + 62 f3 55 2f 73 f4 ab vpshrdd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 af 73 f4 ab vpshrdd $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 55 2f 73 b4 f4 vpshrdd $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 55 2f 73 72 7f vpshrdd $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 55 3f 73 72 7f vpshrdd $0x7b, %ymm5, 0x000001fc(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 0f 73 f4 ab vpshrdq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 8f 73 f4 ab vpshrdq $0xab, %xmm5, %xmm4, %xmm6 {%k7} + 62 f3 d5 0f 73 b4 f4 vpshrdq $0x7b, %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 0f 73 72 7f vpshrdq $0x7b, %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 1f 73 72 7f vpshrdq $0x7b, %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 7b + 62 f3 d5 2f 73 f4 ab vpshrdq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 af 73 f4 ab vpshrdq $0xab, %ymm5, %ymm4, %ymm6 {%k7} + 62 f3 d5 2f 73 b4 f4 vpshrdq $0x7b, %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff 7b + 62 f3 d5 2f 73 72 7f vpshrdq $0x7b, %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 7b + 62 f3 d5 3f 73 72 7f vpshrdq $0x7b, %ymm5, 0x000003f8(%edx), %ymm6 {%k7} + 7b + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 62 f2 55 0f 8d f4 vpermb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f 8d f4 vpermb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f 8d 31 vpermb %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f 8d b4 f4 vpermb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 8d 72 7f vpermb %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 0f 8d b2 00 vpermb %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 55 0f 8d 72 80 vpermb %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 55 0f 8d b2 f0 vpermb %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 55 2f 8d f4 vpermb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af 8d f4 vpermb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f 8d 31 vpermb %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 55 2f 8d b4 f4 vpermb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 8d 72 7f vpermb %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 55 2f 8d b2 00 vpermb %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 55 2f 8d 72 80 vpermb %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 55 2f 8d b2 e0 vpermb %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 55 0f 75 f4 vpermi2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f 75 f4 vpermi2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f 75 31 vpermi2b %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f 75 b4 f4 vpermi2b %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 75 72 7f vpermi2b %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 0f 75 b2 00 vpermi2b %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 55 0f 75 72 80 vpermi2b %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 55 0f 75 b2 f0 vpermi2b %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 55 2f 75 f4 vpermi2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af 75 f4 vpermi2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f 75 31 vpermi2b %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 55 2f 75 b4 f4 vpermi2b %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 75 72 7f vpermi2b %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 55 2f 75 b2 00 vpermi2b %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 55 2f 75 72 80 vpermi2b %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 55 2f 75 b2 e0 vpermi2b %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 55 0f 7d f4 vpermt2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f 7d f4 vpermt2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f 7d 31 vpermt2b %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f 7d b4 f4 vpermt2b %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 7d 72 7f vpermt2b %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 0f 7d b2 00 vpermt2b %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 55 0f 7d 72 80 vpermt2b %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 55 0f 7d b2 f0 vpermt2b %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 55 2f 7d f4 vpermt2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af 7d f4 vpermt2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f 7d 31 vpermt2b %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 55 2f 7d b4 f4 vpermt2b %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 7d 72 7f vpermt2b %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 55 2f 7d b2 00 vpermt2b %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 55 2f 7d 72 80 vpermt2b %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 55 2f 7d b2 e0 vpermt2b %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 d5 0f 83 f4 vpmultishiftqb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 8f 83 f4 vpmultishiftqb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 0f 83 31 vpmultishiftqb %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 d5 0f 83 b4 f4 vpmultishiftqb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 1f 83 30 vpmultishiftqb %xmm5, (%eax), %xmm6 {%k7} + 62 f2 d5 0f 83 72 7f vpmultishiftqb %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 d5 0f 83 b2 00 vpmultishiftqb %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 d5 0f 83 72 80 vpmultishiftqb %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 d5 0f 83 b2 f0 vpmultishiftqb %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 d5 1f 83 72 7f vpmultishiftqb %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 d5 1f 83 b2 00 vpmultishiftqb %xmm5, 0x00000400(%edx), %xmm6 {%k7} + 04 00 00 + 62 f2 d5 1f 83 72 80 vpmultishiftqb %xmm5, -0x00000400(%edx), %xmm6 {%k7} + 62 f2 d5 1f 83 b2 f8 vpmultishiftqb %xmm5, -0x00000408(%edx), %xmm6 {%k7} + fb ff ff + 62 f2 d5 2f 83 f4 vpmultishiftqb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 d5 af 83 f4 vpmultishiftqb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 d5 2f 83 31 vpmultishiftqb %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 d5 2f 83 b4 f4 vpmultishiftqb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 3f 83 30 vpmultishiftqb %ymm5, (%eax), %ymm6 {%k7} + 62 f2 d5 2f 83 72 7f vpmultishiftqb %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 d5 2f 83 b2 00 vpmultishiftqb %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 d5 2f 83 72 80 vpmultishiftqb %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 d5 2f 83 b2 e0 vpmultishiftqb %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 d5 3f 83 72 7f vpmultishiftqb %ymm5, 0x000003f8(%edx), %ymm6 {%k7} + 62 f2 d5 3f 83 b2 00 vpmultishiftqb %ymm5, 0x00000400(%edx), %ymm6 {%k7} + 04 00 00 + 62 f2 d5 3f 83 72 80 vpmultishiftqb %ymm5, -0x00000400(%edx), %ymm6 {%k7} + 62 f2 d5 3f 83 b2 f8 vpmultishiftqb %ymm5, -0x00000408(%edx), %ymm6 {%k7} + fb ff ff + 62 f2 55 0f 8d f4 vpermb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f 8d f4 vpermb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f 8d 31 vpermb %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f 8d b4 f4 vpermb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 8d 72 7f vpermb %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 0f 8d b2 00 vpermb %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 55 0f 8d 72 80 vpermb %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 55 0f 8d b2 f0 vpermb %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 55 2f 8d f4 vpermb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af 8d f4 vpermb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f 8d 31 vpermb %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 55 2f 8d b4 f4 vpermb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 8d 72 7f vpermb %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 55 2f 8d b2 00 vpermb %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 55 2f 8d 72 80 vpermb %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 55 2f 8d b2 e0 vpermb %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 55 0f 75 f4 vpermi2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f 75 f4 vpermi2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f 75 31 vpermi2b %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f 75 b4 f4 vpermi2b %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 75 72 7f vpermi2b %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 0f 75 b2 00 vpermi2b %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 55 0f 75 72 80 vpermi2b %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 55 0f 75 b2 f0 vpermi2b %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 55 2f 75 f4 vpermi2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af 75 f4 vpermi2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f 75 31 vpermi2b %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 55 2f 75 b4 f4 vpermi2b %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 75 72 7f vpermi2b %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 55 2f 75 b2 00 vpermi2b %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 55 2f 75 72 80 vpermi2b %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 55 2f 75 b2 e0 vpermi2b %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 55 0f 7d f4 vpermt2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 8f 7d f4 vpermt2b %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 55 0f 7d 31 vpermt2b %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 55 0f 7d b4 f4 vpermt2b %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 55 0f 7d 72 7f vpermt2b %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 55 0f 7d b2 00 vpermt2b %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 55 0f 7d 72 80 vpermt2b %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 55 0f 7d b2 f0 vpermt2b %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 55 2f 7d f4 vpermt2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 af 7d f4 vpermt2b %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 55 2f 7d 31 vpermt2b %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 55 2f 7d b4 f4 vpermt2b %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 55 2f 7d 72 7f vpermt2b %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 55 2f 7d b2 00 vpermt2b %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 55 2f 7d 72 80 vpermt2b %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 55 2f 7d b2 e0 vpermt2b %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 d5 0f 83 f4 vpmultishiftqb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 8f 83 f4 vpmultishiftqb %xmm5, %xmm4, %xmm6 {%k7} + 62 f2 d5 0f 83 31 vpmultishiftqb %xmm5, (%ecx), %xmm6 {%k7} + 62 f2 d5 0f 83 b4 f4 vpmultishiftqb %xmm5, -0x0001e240(%esp,%esi,8), %xmm6 {%k7} + c0 1d fe ff + 62 f2 d5 1f 83 30 vpmultishiftqb %xmm5, (%eax), %xmm6 {%k7} + 62 f2 d5 0f 83 72 7f vpmultishiftqb %xmm5, 0x000007f0(%edx), %xmm6 {%k7} + 62 f2 d5 0f 83 b2 00 vpmultishiftqb %xmm5, 0x00000800(%edx), %xmm6 {%k7} + 08 00 00 + 62 f2 d5 0f 83 72 80 vpmultishiftqb %xmm5, -0x00000800(%edx), %xmm6 {%k7} + 62 f2 d5 0f 83 b2 f0 vpmultishiftqb %xmm5, -0x00000810(%edx), %xmm6 {%k7} + f7 ff ff + 62 f2 d5 1f 83 72 7f vpmultishiftqb %xmm5, 0x000003f8(%edx), %xmm6 {%k7} + 62 f2 d5 1f 83 b2 00 vpmultishiftqb %xmm5, 0x00000400(%edx), %xmm6 {%k7} + 04 00 00 + 62 f2 d5 1f 83 72 80 vpmultishiftqb %xmm5, -0x00000400(%edx), %xmm6 {%k7} + 62 f2 d5 1f 83 b2 f8 vpmultishiftqb %xmm5, -0x00000408(%edx), %xmm6 {%k7} + fb ff ff + 62 f2 d5 2f 83 f4 vpmultishiftqb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 d5 af 83 f4 vpmultishiftqb %ymm5, %ymm4, %ymm6 {%k7} + 62 f2 d5 2f 83 31 vpmultishiftqb %ymm5, (%ecx), %ymm6 {%k7} + 62 f2 d5 2f 83 b4 f4 vpmultishiftqb %ymm5, -0x0001e240(%esp,%esi,8), %ymm6 {%k7} + c0 1d fe ff + 62 f2 d5 3f 83 30 vpmultishiftqb %ymm5, (%eax), %ymm6 {%k7} + 62 f2 d5 2f 83 72 7f vpmultishiftqb %ymm5, 0x00000fe0(%edx), %ymm6 {%k7} + 62 f2 d5 2f 83 b2 00 vpmultishiftqb %ymm5, 0x00001000(%edx), %ymm6 {%k7} + 10 00 00 + 62 f2 d5 2f 83 72 80 vpmultishiftqb %ymm5, -0x00001000(%edx), %ymm6 {%k7} + 62 f2 d5 2f 83 b2 e0 vpmultishiftqb %ymm5, -0x00001020(%edx), %ymm6 {%k7} + ef ff ff + 62 f2 d5 3f 83 72 7f vpmultishiftqb %ymm5, 0x000003f8(%edx), %ymm6 {%k7} + 62 f2 d5 3f 83 b2 00 vpmultishiftqb %ymm5, 0x00000400(%edx), %ymm6 {%k7} + 04 00 00 + 62 f2 d5 3f 83 72 80 vpmultishiftqb %ymm5, -0x00000400(%edx), %ymm6 {%k7} + 62 f2 d5 3f 83 b2 f8 vpmultishiftqb %ymm5, -0x00000408(%edx), %ymm6 {%k7} + fb ff ff + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop + 90 nop 62 f3 d5 0f ce f4 ab vgf2p8affineqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} 62 f3 d5 8f ce f4 ab vgf2p8affineqb $0xab, %xmm5, %xmm4, %xmm6 {%k7} 62 f3 d5 0f ce f4 7b vgf2p8affineqb $0x7b, %xmm5, %xmm4, %xmm6 {%k7} diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect index 4bf56b4a61d..613c3ebc801 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect @@ -97677,6 +97677,25 @@ test_x86_64_s: 62 62 15 40 7d 72 80 vpermt2b %zmm29, -0x00002000(%rdx), %zmm30 {%k0} 62 62 15 40 7d b2 c0 vpermt2b %zmm29, -0x00002040(%rdx), %zmm30 {%k0} df ff ff + 62 02 95 40 83 f4 vpmultishiftqb %zmm29, %zmm28, %zmm30 {%k0} + 62 02 95 47 83 f4 vpmultishiftqb %zmm29, %zmm28, %zmm30 {%k7} + 62 02 95 c7 83 f4 vpmultishiftqb %zmm29, %zmm28, %zmm30 {%k7} + 62 62 95 40 83 31 vpmultishiftqb %zmm29, (%rcx), %zmm30 {%k0} + 62 22 95 40 83 b4 f0 vpmultishiftqb %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 95 50 83 31 vpmultishiftqb %zmm29, (%rcx), %zmm30 {%k0} + 62 62 95 40 83 72 7f vpmultishiftqb %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 95 40 83 b2 00 vpmultishiftqb %zmm29, 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 95 40 83 72 80 vpmultishiftqb %zmm29, -0x00002000(%rdx), %zmm30 {%k0} + 62 62 95 40 83 b2 c0 vpmultishiftqb %zmm29, -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 95 50 83 72 7f vpmultishiftqb %zmm29, 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 95 50 83 b2 00 vpmultishiftqb %zmm29, 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 95 50 83 72 80 vpmultishiftqb %zmm29, -0x00000400(%rdx), %zmm30 {%k0} + 62 62 95 50 83 b2 f8 vpmultishiftqb %zmm29, -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff 62 02 15 40 8d f4 vpermb %zmm29, %zmm28, %zmm30 {%k0} 62 02 15 47 8d f4 vpermb %zmm29, %zmm28, %zmm30 {%k7} 62 02 15 c7 8d f4 vpermb %zmm29, %zmm28, %zmm30 {%k7} @@ -97713,6 +97732,960 @@ test_x86_64_s: 62 62 15 40 7d 72 80 vpermt2b %zmm29, -0x00002000(%rdx), %zmm30 {%k0} 62 62 15 40 7d b2 c0 vpermt2b %zmm29, -0x00002040(%rdx), %zmm30 {%k0} df ff ff + 62 02 95 40 83 f4 vpmultishiftqb %zmm29, %zmm28, %zmm30 {%k0} + 62 02 95 47 83 f4 vpmultishiftqb %zmm29, %zmm28, %zmm30 {%k7} + 62 02 95 c7 83 f4 vpmultishiftqb %zmm29, %zmm28, %zmm30 {%k7} + 62 62 95 40 83 31 vpmultishiftqb %zmm29, (%rcx), %zmm30 {%k0} + 62 22 95 40 83 b4 f0 vpmultishiftqb %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 95 50 83 31 vpmultishiftqb %zmm29, (%rcx), %zmm30 {%k0} + 62 62 95 40 83 72 7f vpmultishiftqb %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 62 62 95 40 83 b2 00 vpmultishiftqb %zmm29, 0x00002000(%rdx), %zmm30 {%k0} + 20 00 00 + 62 62 95 40 83 72 80 vpmultishiftqb %zmm29, -0x00002000(%rdx), %zmm30 {%k0} + 62 62 95 40 83 b2 c0 vpmultishiftqb %zmm29, -0x00002040(%rdx), %zmm30 {%k0} + df ff ff + 62 62 95 50 83 72 7f vpmultishiftqb %zmm29, 0x000003f8(%rdx), %zmm30 {%k0} + 62 62 95 50 83 b2 00 vpmultishiftqb %zmm29, 0x00000400(%rdx), %zmm30 {%k0} + 04 00 00 + 62 62 95 50 83 72 80 vpmultishiftqb %zmm29, -0x00000400(%rdx), %zmm30 {%k0} + 62 62 95 50 83 b2 f8 vpmultishiftqb %zmm29, -0x00000408(%rdx), %zmm30 {%k0} + fb ff ff + 62 62 7d 4f 63 31 vpcompressb %zmm30, (%rcx) {%k7} + 62 22 7d 48 63 b4 f0 vpcompressb %zmm30, 0x00000123(%rax,%r14,8) {%k0} + 23 01 00 00 + 62 62 7d 48 63 72 7e vpcompressb %zmm30, 0x000001f8(%rdx) {%k0} + 62 02 7d 48 63 ee vpcompressb %zmm29, %zmm30 {%k0} + 62 02 7d 4f 63 ee vpcompressb %zmm29, %zmm30 {%k7} + 62 02 7d cf 63 ee vpcompressb %zmm29, %zmm30 {%k7} + 62 62 fd 4f 63 31 vpcompressw %zmm30, (%rcx) {%k7} + 62 22 fd 48 63 b4 f0 vpcompressw %zmm30, 0x00000123(%rax,%r14,8) {%k0} + 23 01 00 00 + 62 62 fd 48 63 72 7f vpcompressw %zmm30, 0x000003f8(%rdx) {%k0} + 62 02 fd 48 63 ee vpcompressw %zmm29, %zmm30 {%k0} + 62 02 fd 4f 63 ee vpcompressw %zmm29, %zmm30 {%k7} + 62 02 fd cf 63 ee vpcompressw %zmm29, %zmm30 {%k7} + 62 62 7d 4f 62 31 vpexpandb (%rcx), %zmm30 {%k7} + 62 62 7d cf 62 31 vpexpandb (%rcx), %zmm30 {%k7} + 62 22 7d 48 62 b4 f0 vpexpandb 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 7d 48 62 72 7e vpexpandb 0x000001f8(%rdx), %zmm30 {%k0} + 62 02 7d 48 62 f5 vpexpandb %zmm29, %zmm30 {%k0} + 62 02 7d 4f 62 f5 vpexpandb %zmm29, %zmm30 {%k7} + 62 02 7d cf 62 f5 vpexpandb %zmm29, %zmm30 {%k7} + 62 62 fd 4f 62 31 vpexpandw (%rcx), %zmm30 {%k7} + 62 62 fd cf 62 31 vpexpandw (%rcx), %zmm30 {%k7} + 62 22 fd 48 62 b4 f0 vpexpandw 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 + 62 62 fd 48 62 72 7f vpexpandw 0x000003f8(%rdx), %zmm30 {%k0} + 62 02 fd 48 62 f5 vpexpandw %zmm29, %zmm30 {%k0} + 62 02 fd 4f 62 f5 vpexpandw %zmm29, %zmm30 {%k7} + 62 02 fd cf 62 f5 vpexpandw %zmm29, %zmm30 {%k7} + 62 02 95 40 70 f4 vpshldvw %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 70 f4 vpshldvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 70 f4 vpshldvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 70 b4 f0 vpshldvw %zmm29, 0x00000123(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 23 01 00 00 + 62 62 95 40 70 72 7f vpshldvw %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 02 15 40 71 f4 vpshldvd %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 15 47 71 f4 vpshldvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 15 c7 71 f4 vpshldvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 15 40 71 b4 f0 vpshldvd %zmm29, 0x00000123(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 23 01 00 00 + 62 62 15 40 71 72 7f vpshldvd %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 62 15 50 71 72 7f vpshldvd %zmm29, 0x000001fc(%rdx), %zmm30, %zmm30 {%k0} + 62 02 95 40 71 f4 vpshldvq %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 71 f4 vpshldvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 71 f4 vpshldvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 71 b4 f0 vpshldvq %zmm29, 0x00000123(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 23 01 00 00 + 62 62 95 40 71 72 7f vpshldvq %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 62 95 50 71 72 7f vpshldvq %zmm29, 0x000003f8(%rdx), %zmm30, %zmm30 {%k0} + 62 02 95 40 72 f4 vpshrdvw %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 72 f4 vpshrdvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 72 f4 vpshrdvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 72 b4 f0 vpshrdvw %zmm29, 0x00000123(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 23 01 00 00 + 62 62 95 40 72 72 7f vpshrdvw %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 02 15 40 73 f4 vpshrdvd %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 15 47 73 f4 vpshrdvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 15 c7 73 f4 vpshrdvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 15 40 73 b4 f0 vpshrdvd %zmm29, 0x00000123(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 23 01 00 00 + 62 62 15 40 73 72 7f vpshrdvd %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 02 95 40 73 f4 vpshrdvq %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 73 f4 vpshrdvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 73 f4 vpshrdvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 73 b4 f0 vpshrdvq %zmm29, 0x00000123(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 23 01 00 00 + 62 62 95 40 73 72 7f vpshrdvq %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 03 95 40 70 f4 ab vpshldw $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 70 f4 ab vpshldw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 70 f4 ab vpshldw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 70 b4 f0 vpshldw $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 95 40 70 72 7f vpshldw $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 15 40 71 f4 ab vpshldd $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 15 47 71 f4 ab vpshldd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 15 c7 71 f4 ab vpshldd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 15 40 71 b4 f0 vpshldd $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 15 40 71 72 7f vpshldd $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 71 f4 ab vpshldq $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 71 f4 ab vpshldq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 71 f4 ab vpshldq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 71 b4 f0 vpshldq $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 95 40 71 72 7f vpshldq $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 71 72 7f vpshldq $0x7b, %zmm29, 0x000003f8(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 72 f4 ab vpshrdw $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 72 f4 ab vpshrdw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 72 f4 ab vpshrdw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 72 b4 f0 vpshrdw $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 95 40 72 72 7f vpshrdw $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 15 40 73 f4 ab vpshrdd $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 15 47 73 f4 ab vpshrdd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 15 c7 73 f4 ab vpshrdd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 15 40 73 b4 f0 vpshrdd $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 15 50 73 31 7b vpshrdd $0x7b, %zmm29, (%rcx), %zmm30 {%k0} + 62 63 15 40 73 72 7f vpshrdd $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 73 f4 ab vpshrdq $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 73 f4 ab vpshrdq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 73 f4 ab vpshrdq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 73 b4 f0 vpshrdq $0x7b, %zmm29, 0x00000123(%rax,%r14,8), %zmm30 {%k0} + 23 01 00 00 7b + 62 63 95 50 73 31 7b vpshrdq $0x7b, %zmm29, (%rcx), %zmm30 {%k0} + 62 63 95 40 73 72 7f vpshrdq $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 62 7d 4f 63 31 vpcompressb %zmm30, (%rcx) {%k7} + 62 22 7d 48 63 b4 f0 vpcompressb %zmm30, 0x00001234(%rax,%r14,8) {%k0} + 34 12 00 00 + 62 62 7d 48 63 72 7e vpcompressb %zmm30, 0x000001f8(%rdx) {%k0} + 62 02 7d 48 63 ee vpcompressb %zmm29, %zmm30 {%k0} + 62 02 7d 4f 63 ee vpcompressb %zmm29, %zmm30 {%k7} + 62 02 7d cf 63 ee vpcompressb %zmm29, %zmm30 {%k7} + 62 62 fd 4f 63 31 vpcompressw %zmm30, (%rcx) {%k7} + 62 22 fd 48 63 b4 f0 vpcompressw %zmm30, 0x00001234(%rax,%r14,8) {%k0} + 34 12 00 00 + 62 62 fd 48 63 72 7f vpcompressw %zmm30, 0x000003f8(%rdx) {%k0} + 62 02 fd 48 63 ee vpcompressw %zmm29, %zmm30 {%k0} + 62 02 fd 4f 63 ee vpcompressw %zmm29, %zmm30 {%k7} + 62 02 fd cf 63 ee vpcompressw %zmm29, %zmm30 {%k7} + 62 62 7d 4f 62 31 vpexpandb (%rcx), %zmm30 {%k7} + 62 62 7d cf 62 31 vpexpandb (%rcx), %zmm30 {%k7} + 62 22 7d 48 62 b4 f0 vpexpandb 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 7d 48 62 72 7e vpexpandb 0x000001f8(%rdx), %zmm30 {%k0} + 62 02 7d 48 62 f5 vpexpandb %zmm29, %zmm30 {%k0} + 62 02 7d 4f 62 f5 vpexpandb %zmm29, %zmm30 {%k7} + 62 02 7d cf 62 f5 vpexpandb %zmm29, %zmm30 {%k7} + 62 62 fd 4f 62 31 vpexpandw (%rcx), %zmm30 {%k7} + 62 62 fd cf 62 31 vpexpandw (%rcx), %zmm30 {%k7} + 62 22 fd 48 62 b4 f0 vpexpandw 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 + 62 62 fd 48 62 72 7f vpexpandw 0x000003f8(%rdx), %zmm30 {%k0} + 62 02 fd 48 62 f5 vpexpandw %zmm29, %zmm30 {%k0} + 62 02 fd 4f 62 f5 vpexpandw %zmm29, %zmm30 {%k7} + 62 02 fd cf 62 f5 vpexpandw %zmm29, %zmm30 {%k7} + 62 02 95 40 70 f4 vpshldvw %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 70 f4 vpshldvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 70 f4 vpshldvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 70 b4 f0 vpshldvw %zmm29, 0x00001234(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 34 12 00 00 + 62 62 95 40 70 72 7f vpshldvw %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 02 15 40 71 f4 vpshldvd %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 15 47 71 f4 vpshldvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 15 c7 71 f4 vpshldvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 15 40 71 b4 f0 vpshldvd %zmm29, 0x00001234(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 34 12 00 00 + 62 62 15 50 71 31 vpshldvd %zmm29, (%rcx), %zmm30, %zmm30 {%k0} + 62 62 15 40 71 72 7f vpshldvd %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 62 15 50 71 72 7f vpshldvd %zmm29, 0x000001fc(%rdx), %zmm30, %zmm30 {%k0} + 62 02 95 40 71 f4 vpshldvq %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 71 f4 vpshldvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 71 f4 vpshldvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 71 b4 f0 vpshldvq %zmm29, 0x00001234(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 34 12 00 00 + 62 62 95 40 71 72 7f vpshldvq %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 62 95 50 71 72 7f vpshldvq %zmm29, 0x000003f8(%rdx), %zmm30, %zmm30 {%k0} + 62 02 95 40 72 f4 vpshrdvw %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 72 f4 vpshrdvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 72 f4 vpshrdvw %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 72 b4 f0 vpshrdvw %zmm29, 0x00001234(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 34 12 00 00 + 62 62 95 40 72 72 7f vpshrdvw %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 02 15 40 73 f4 vpshrdvd %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 15 47 73 f4 vpshrdvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 15 c7 73 f4 vpshrdvd %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 15 40 73 b4 f0 vpshrdvd %zmm29, 0x00001234(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 34 12 00 00 + 62 62 15 40 73 72 7f vpshrdvd %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 62 15 50 73 72 7f vpshrdvd %zmm29, 0x000001fc(%rdx), %zmm30, %zmm30 {%k0} + 62 02 95 40 73 f4 vpshrdvq %zmm29, %zmm28, %zmm30, %zmm30 {%k0} + 62 02 95 47 73 f4 vpshrdvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 02 95 c7 73 f4 vpshrdvq %zmm29, %zmm28, %zmm30, %zmm30 {%k7} + 62 22 95 40 73 b4 f0 vpshrdvq %zmm29, 0x00001234(%rax,%r14,8), %zmm30, %zmm30 {%k0} + 34 12 00 00 + 62 62 95 40 73 72 7f vpshrdvq %zmm29, 0x00001fc0(%rdx), %zmm30, %zmm30 {%k0} + 62 62 95 50 73 72 7f vpshrdvq %zmm29, 0x000003f8(%rdx), %zmm30, %zmm30 {%k0} + 62 03 95 40 70 f4 ab vpshldw $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 70 f4 ab vpshldw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 70 f4 ab vpshldw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 70 b4 f0 vpshldw $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 95 40 70 72 7f vpshldw $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 15 40 71 f4 ab vpshldd $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 15 47 71 f4 ab vpshldd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 15 c7 71 f4 ab vpshldd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 15 40 71 b4 f0 vpshldd $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 15 40 71 72 7f vpshldd $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 15 50 71 72 7f vpshldd $0x7b, %zmm29, 0x000001fc(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 71 f4 ab vpshldq $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 71 f4 ab vpshldq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 71 f4 ab vpshldq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 71 b4 f0 vpshldq $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 95 40 71 72 7f vpshldq $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 71 72 7f vpshldq $0x7b, %zmm29, 0x000003f8(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 72 f4 ab vpshrdw $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 72 f4 ab vpshrdw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 72 f4 ab vpshrdw $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 72 b4 f0 vpshrdw $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 95 40 72 72 7f vpshrdw $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 03 15 40 73 f4 ab vpshrdd $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 15 47 73 f4 ab vpshrdd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 15 c7 73 f4 ab vpshrdd $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 15 40 73 b4 f0 vpshrdd $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 15 40 73 72 7f vpshrdd $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 15 50 73 72 7f vpshrdd $0x7b, %zmm29, 0x000001fc(%rdx), %zmm30 {%k0} + 7b + 62 03 95 40 73 f4 ab vpshrdq $0xab, %zmm29, %zmm28, %zmm30 {%k0} + 62 03 95 47 73 f4 ab vpshrdq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 03 95 c7 73 f4 ab vpshrdq $0xab, %zmm29, %zmm28, %zmm30 {%k7} + 62 23 95 40 73 b4 f0 vpshrdq $0x7b, %zmm29, 0x00001234(%rax,%r14,8), %zmm30 {%k0} + 34 12 00 00 7b + 62 63 95 40 73 72 7f vpshrdq $0x7b, %zmm29, 0x00001fc0(%rdx), %zmm30 {%k0} + 7b + 62 63 95 50 73 72 7f vpshrdq $0x7b, %zmm29, 0x000003f8(%rdx), %zmm30 {%k0} + 7b + 62 62 7d 0f 63 31 vpcompressb %xmm30, (%rcx) {%k7} + 62 22 7d 08 63 b4 f0 vpcompressb %xmm30, 0x00000123(%rax,%r14,8) {%k0} + 23 01 00 00 + 62 62 7d 08 63 72 7f vpcompressb %xmm30, 0x000001fc(%rdx) {%k0} + 62 62 7d 2f 63 31 vpcompressb %ymm30, (%rcx) {%k7} + 62 22 7d 28 63 b4 f0 vpcompressb %ymm30, 0x00000123(%rax,%r14,8) {%k0} + 23 01 00 00 + 62 62 7d 28 63 72 7f vpcompressb %ymm30, 0x000001fc(%rdx) {%k0} + 62 02 7d 08 63 ee vpcompressb %xmm29, %xmm30 {%k0} + 62 02 7d 0f 63 ee vpcompressb %xmm29, %xmm30 {%k7} + 62 02 7d 8f 63 ee vpcompressb %xmm29, %xmm30 {%k7} + 62 02 7d 28 63 ee vpcompressb %ymm29, %ymm30 {%k0} + 62 02 7d 2f 63 ee vpcompressb %ymm29, %ymm30 {%k7} + 62 02 7d af 63 ee vpcompressb %ymm29, %ymm30 {%k7} + 62 62 fd 0f 63 31 vpcompressw %xmm30, (%rcx) {%k7} + 62 22 fd 08 63 b4 f0 vpcompressw %xmm30, 0x00000123(%rax,%r14,8) {%k0} + 23 01 00 00 + 62 62 fd 08 63 72 7f vpcompressw %xmm30, 0x000003f8(%rdx) {%k0} + 62 62 fd 2f 63 31 vpcompressw %ymm30, (%rcx) {%k7} + 62 22 fd 28 63 b4 f0 vpcompressw %ymm30, 0x00000123(%rax,%r14,8) {%k0} + 23 01 00 00 + 62 62 fd 28 63 72 7f vpcompressw %ymm30, 0x000003f8(%rdx) {%k0} + 62 02 fd 08 63 ee vpcompressw %xmm29, %xmm30 {%k0} + 62 02 fd 0f 63 ee vpcompressw %xmm29, %xmm30 {%k7} + 62 02 fd 8f 63 ee vpcompressw %xmm29, %xmm30 {%k7} + 62 02 fd 28 63 ee vpcompressw %ymm29, %ymm30 {%k0} + 62 02 fd 2f 63 ee vpcompressw %ymm29, %ymm30 {%k7} + 62 02 fd af 63 ee vpcompressw %ymm29, %ymm30 {%k7} + 62 62 7d 0f 62 31 vpexpandb (%rcx), %xmm30 {%k7} + 62 62 7d 8f 62 31 vpexpandb (%rcx), %xmm30 {%k7} + 62 22 7d 08 62 b4 f0 vpexpandb 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 7d 08 62 72 7f vpexpandb 0x000001fc(%rdx), %xmm30 {%k0} + 62 62 7d 2f 62 31 vpexpandb (%rcx), %ymm30 {%k7} + 62 62 7d af 62 31 vpexpandb (%rcx), %ymm30 {%k7} + 62 22 7d 28 62 b4 f0 vpexpandb 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 7d 28 62 72 7f vpexpandb 0x000001fc(%rdx), %ymm30 {%k0} + 62 02 7d 08 62 f5 vpexpandb %xmm29, %xmm30 {%k0} + 62 02 7d 0f 62 f5 vpexpandb %xmm29, %xmm30 {%k7} + 62 02 7d 8f 62 f5 vpexpandb %xmm29, %xmm30 {%k7} + 62 02 7d 28 62 f5 vpexpandb %ymm29, %ymm30 {%k0} + 62 02 7d 2f 62 f5 vpexpandb %ymm29, %ymm30 {%k7} + 62 02 7d af 62 f5 vpexpandb %ymm29, %ymm30 {%k7} + 62 62 fd 0f 62 31 vpexpandw (%rcx), %xmm30 {%k7} + 62 62 fd 8f 62 31 vpexpandw (%rcx), %xmm30 {%k7} + 62 22 fd 08 62 b4 f0 vpexpandw 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 fd 08 62 72 7f vpexpandw 0x000003f8(%rdx), %xmm30 {%k0} + 62 62 fd 2f 62 31 vpexpandw (%rcx), %ymm30 {%k7} + 62 62 fd af 62 31 vpexpandw (%rcx), %ymm30 {%k7} + 62 22 fd 28 62 b4 f0 vpexpandw 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 fd 28 62 72 7f vpexpandw 0x000003f8(%rdx), %ymm30 {%k0} + 62 02 fd 08 62 f5 vpexpandw %xmm29, %xmm30 {%k0} + 62 02 fd 0f 62 f5 vpexpandw %xmm29, %xmm30 {%k7} + 62 02 fd 8f 62 f5 vpexpandw %xmm29, %xmm30 {%k7} + 62 02 fd 28 62 f5 vpexpandw %ymm29, %ymm30 {%k0} + 62 02 fd 2f 62 f5 vpexpandw %ymm29, %ymm30 {%k7} + 62 02 fd af 62 f5 vpexpandw %ymm29, %ymm30 {%k7} + 62 02 95 00 70 f4 vpshldvw %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 70 f4 vpshldvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 70 f4 vpshldvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 70 b4 f0 vpshldvw %xmm29, 0x00000123(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 23 01 00 00 + 62 62 95 00 70 72 7f vpshldvw %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 70 f4 vpshldvw %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 70 f4 vpshldvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 70 f4 vpshldvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 70 b4 f0 vpshldvw %ymm29, 0x00000123(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 23 01 00 00 + 62 62 95 20 70 72 7f vpshldvw %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 02 15 00 71 f4 vpshldvd %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 15 07 71 f4 vpshldvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 15 87 71 f4 vpshldvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 15 00 71 b4 f0 vpshldvd %xmm29, 0x00000123(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 23 01 00 00 + 62 62 15 00 71 72 7f vpshldvd %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 15 10 71 72 7f vpshldvd %xmm29, 0x000001fc(%rdx), %xmm30, %xmm30 {%k0} + 62 02 15 20 71 f4 vpshldvd %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 15 27 71 f4 vpshldvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 15 a7 71 f4 vpshldvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 15 20 71 b4 f0 vpshldvd %ymm29, 0x00000123(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 71 72 7f vpshldvd %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 15 30 71 72 7f vpshldvd %ymm29, 0x000001fc(%rdx), %ymm30, %ymm30 {%k0} + 62 02 95 00 71 f4 vpshldvq %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 71 f4 vpshldvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 71 f4 vpshldvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 71 b4 f0 vpshldvq %xmm29, 0x00000123(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 23 01 00 00 + 62 62 95 00 71 72 7f vpshldvq %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 95 10 71 72 7f vpshldvq %xmm29, 0x000003f8(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 71 f4 vpshldvq %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 71 f4 vpshldvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 71 f4 vpshldvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 71 b4 f0 vpshldvq %ymm29, 0x00000123(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 23 01 00 00 + 62 62 95 20 71 72 7f vpshldvq %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 95 30 71 72 7f vpshldvq %ymm29, 0x000003f8(%rdx), %ymm30, %ymm30 {%k0} + 62 02 95 00 72 f4 vpshrdvw %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 72 f4 vpshrdvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 72 f4 vpshrdvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 72 b4 f0 vpshrdvw %xmm29, 0x00000123(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 23 01 00 00 + 62 62 95 00 72 72 7f vpshrdvw %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 72 f4 vpshrdvw %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 72 f4 vpshrdvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 72 f4 vpshrdvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 72 b4 f0 vpshrdvw %ymm29, 0x00000123(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 23 01 00 00 + 62 62 95 20 72 72 7f vpshrdvw %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 02 15 00 73 f4 vpshrdvd %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 15 07 73 f4 vpshrdvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 15 87 73 f4 vpshrdvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 15 00 73 b4 f0 vpshrdvd %xmm29, 0x00000123(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 23 01 00 00 + 62 62 15 00 73 72 7f vpshrdvd %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 15 10 73 72 7f vpshrdvd %xmm29, 0x000001fc(%rdx), %xmm30, %xmm30 {%k0} + 62 02 15 20 73 f4 vpshrdvd %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 15 27 73 f4 vpshrdvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 15 a7 73 f4 vpshrdvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 15 20 73 b4 f0 vpshrdvd %ymm29, 0x00000123(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 73 72 7f vpshrdvd %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 15 30 73 72 7f vpshrdvd %ymm29, 0x000001fc(%rdx), %ymm30, %ymm30 {%k0} + 62 02 95 00 73 f4 vpshrdvq %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 73 f4 vpshrdvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 73 f4 vpshrdvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 73 b4 f0 vpshrdvq %xmm29, 0x00000123(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 23 01 00 00 + 62 62 95 00 73 72 7f vpshrdvq %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 95 10 73 72 7f vpshrdvq %xmm29, 0x000003f8(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 73 f4 vpshrdvq %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 73 f4 vpshrdvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 73 f4 vpshrdvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 73 b4 f0 vpshrdvq %ymm29, 0x00000123(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 23 01 00 00 + 62 62 95 20 73 72 7f vpshrdvq %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 95 30 73 72 7f vpshrdvq %ymm29, 0x000003f8(%rdx), %ymm30, %ymm30 {%k0} + 62 03 95 00 70 f4 ab vpshldw $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 70 f4 ab vpshldw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 70 f4 ab vpshldw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 70 b4 f0 vpshldw $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 95 00 70 72 7f vpshldw $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 70 f4 ab vpshldw $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 70 f4 ab vpshldw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 70 f4 ab vpshldw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 70 b4 f0 vpshldw $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 95 20 70 72 7f vpshldw $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 03 15 00 71 f4 ab vpshldd $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 15 07 71 f4 ab vpshldd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 15 87 71 f4 ab vpshldd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 15 00 71 b4 f0 vpshldd $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 15 00 71 72 7f vpshldd $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 15 10 71 72 7f vpshldd $0x7b, %xmm29, 0x000001fc(%rdx), %xmm30 {%k0} + 7b + 62 03 15 20 71 f4 ab vpshldd $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 15 27 71 f4 ab vpshldd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 15 a7 71 f4 ab vpshldd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 15 20 71 b4 f0 vpshldd $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 15 20 71 72 7f vpshldd $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 15 30 71 72 7f vpshldd $0x7b, %ymm29, 0x000001fc(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 71 f4 ab vpshldq $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 71 f4 ab vpshldq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 71 f4 ab vpshldq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 71 b4 f0 vpshldq $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 95 00 71 72 7f vpshldq $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 71 72 7f vpshldq $0x7b, %xmm29, 0x000003f8(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 71 f4 ab vpshldq $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 71 f4 ab vpshldq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 71 f4 ab vpshldq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 71 b4 f0 vpshldq $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 95 20 71 72 7f vpshldq $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 71 72 7f vpshldq $0x7b, %ymm29, 0x000003f8(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 72 f4 ab vpshrdw $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 72 f4 ab vpshrdw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 72 f4 ab vpshrdw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 72 b4 f0 vpshrdw $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 95 00 72 72 7f vpshrdw $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 72 f4 ab vpshrdw $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 72 f4 ab vpshrdw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 72 f4 ab vpshrdw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 72 b4 f0 vpshrdw $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 95 20 72 72 7f vpshrdw $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 03 15 00 73 f4 ab vpshrdd $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 15 07 73 f4 ab vpshrdd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 15 87 73 f4 ab vpshrdd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 15 00 73 b4 f0 vpshrdd $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 15 00 73 72 7f vpshrdd $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 15 10 73 72 7f vpshrdd $0x7b, %xmm29, 0x000001fc(%rdx), %xmm30 {%k0} + 7b + 62 03 15 20 73 f4 ab vpshrdd $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 15 27 73 f4 ab vpshrdd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 15 a7 73 f4 ab vpshrdd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 15 20 73 b4 f0 vpshrdd $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 15 20 73 72 7f vpshrdd $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 15 30 73 72 7f vpshrdd $0x7b, %ymm29, 0x000001fc(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 73 f4 ab vpshrdq $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 73 f4 ab vpshrdq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 73 f4 ab vpshrdq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 73 b4 f0 vpshrdq $0x7b, %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 7b + 62 63 95 00 73 72 7f vpshrdq $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 73 72 7f vpshrdq $0x7b, %xmm29, 0x000003f8(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 73 f4 ab vpshrdq $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 73 f4 ab vpshrdq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 73 f4 ab vpshrdq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 73 b4 f0 vpshrdq $0x7b, %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 7b + 62 63 95 20 73 72 7f vpshrdq $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 73 72 7f vpshrdq $0x7b, %ymm29, 0x000003f8(%rdx), %ymm30 {%k0} + 7b + 62 62 7d 0f 63 31 vpcompressb %xmm30, (%rcx) {%k7} + 62 22 7d 08 63 b4 f0 vpcompressb %xmm30, 0x00001234(%rax,%r14,8) {%k0} + 34 12 00 00 + 62 62 7d 08 63 72 7f vpcompressb %xmm30, 0x000001fc(%rdx) {%k0} + 62 62 7d 2f 63 31 vpcompressb %ymm30, (%rcx) {%k7} + 62 22 7d 28 63 b4 f0 vpcompressb %ymm30, 0x00001234(%rax,%r14,8) {%k0} + 34 12 00 00 + 62 62 7d 28 63 72 7f vpcompressb %ymm30, 0x000001fc(%rdx) {%k0} + 62 02 7d 08 63 ee vpcompressb %xmm29, %xmm30 {%k0} + 62 02 7d 0f 63 ee vpcompressb %xmm29, %xmm30 {%k7} + 62 02 7d 8f 63 ee vpcompressb %xmm29, %xmm30 {%k7} + 62 02 7d 28 63 ee vpcompressb %ymm29, %ymm30 {%k0} + 62 02 7d 2f 63 ee vpcompressb %ymm29, %ymm30 {%k7} + 62 02 7d af 63 ee vpcompressb %ymm29, %ymm30 {%k7} + 62 62 fd 0f 63 31 vpcompressw %xmm30, (%rcx) {%k7} + 62 22 fd 08 63 b4 f0 vpcompressw %xmm30, 0x00001234(%rax,%r14,8) {%k0} + 34 12 00 00 + 62 62 fd 08 63 72 7f vpcompressw %xmm30, 0x000003f8(%rdx) {%k0} + 62 62 fd 2f 63 31 vpcompressw %ymm30, (%rcx) {%k7} + 62 22 fd 28 63 b4 f0 vpcompressw %ymm30, 0x00001234(%rax,%r14,8) {%k0} + 34 12 00 00 + 62 62 fd 28 63 72 7f vpcompressw %ymm30, 0x000003f8(%rdx) {%k0} + 62 02 fd 08 63 ee vpcompressw %xmm29, %xmm30 {%k0} + 62 02 fd 0f 63 ee vpcompressw %xmm29, %xmm30 {%k7} + 62 02 fd 8f 63 ee vpcompressw %xmm29, %xmm30 {%k7} + 62 02 fd 28 63 ee vpcompressw %ymm29, %ymm30 {%k0} + 62 02 fd 2f 63 ee vpcompressw %ymm29, %ymm30 {%k7} + 62 02 fd af 63 ee vpcompressw %ymm29, %ymm30 {%k7} + 62 62 7d 0f 62 31 vpexpandb (%rcx), %xmm30 {%k7} + 62 62 7d 8f 62 31 vpexpandb (%rcx), %xmm30 {%k7} + 62 22 7d 08 62 b4 f0 vpexpandb 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 7d 08 62 72 7f vpexpandb 0x000001fc(%rdx), %xmm30 {%k0} + 62 62 7d 2f 62 31 vpexpandb (%rcx), %ymm30 {%k7} + 62 62 7d af 62 31 vpexpandb (%rcx), %ymm30 {%k7} + 62 22 7d 28 62 b4 f0 vpexpandb 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 7d 28 62 72 7f vpexpandb 0x000001fc(%rdx), %ymm30 {%k0} + 62 02 7d 08 62 f5 vpexpandb %xmm29, %xmm30 {%k0} + 62 02 7d 0f 62 f5 vpexpandb %xmm29, %xmm30 {%k7} + 62 02 7d 8f 62 f5 vpexpandb %xmm29, %xmm30 {%k7} + 62 02 7d 28 62 f5 vpexpandb %ymm29, %ymm30 {%k0} + 62 02 7d 2f 62 f5 vpexpandb %ymm29, %ymm30 {%k7} + 62 02 7d af 62 f5 vpexpandb %ymm29, %ymm30 {%k7} + 62 62 fd 0f 62 31 vpexpandw (%rcx), %xmm30 {%k7} + 62 62 fd 8f 62 31 vpexpandw (%rcx), %xmm30 {%k7} + 62 22 fd 08 62 b4 f0 vpexpandw 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 fd 08 62 72 7f vpexpandw 0x000003f8(%rdx), %xmm30 {%k0} + 62 62 fd 2f 62 31 vpexpandw (%rcx), %ymm30 {%k7} + 62 62 fd af 62 31 vpexpandw (%rcx), %ymm30 {%k7} + 62 22 fd 28 62 b4 f0 vpexpandw 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 fd 28 62 72 7f vpexpandw 0x000003f8(%rdx), %ymm30 {%k0} + 62 02 fd 08 62 f5 vpexpandw %xmm29, %xmm30 {%k0} + 62 02 fd 0f 62 f5 vpexpandw %xmm29, %xmm30 {%k7} + 62 02 fd 8f 62 f5 vpexpandw %xmm29, %xmm30 {%k7} + 62 02 fd 28 62 f5 vpexpandw %ymm29, %ymm30 {%k0} + 62 02 fd 2f 62 f5 vpexpandw %ymm29, %ymm30 {%k7} + 62 02 fd af 62 f5 vpexpandw %ymm29, %ymm30 {%k7} + 62 02 95 00 70 f4 vpshldvw %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 70 f4 vpshldvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 70 f4 vpshldvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 70 b4 f0 vpshldvw %xmm29, 0x00001234(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 34 12 00 00 + 62 62 95 00 70 72 7f vpshldvw %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 70 f4 vpshldvw %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 70 f4 vpshldvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 70 f4 vpshldvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 70 b4 f0 vpshldvw %ymm29, 0x00001234(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 34 12 00 00 + 62 62 95 20 70 72 7f vpshldvw %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 02 15 00 71 f4 vpshldvd %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 15 07 71 f4 vpshldvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 15 87 71 f4 vpshldvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 15 00 71 b4 f0 vpshldvd %xmm29, 0x00001234(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 34 12 00 00 + 62 62 15 00 71 72 7f vpshldvd %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 15 10 71 72 7f vpshldvd %xmm29, 0x000001fc(%rdx), %xmm30, %xmm30 {%k0} + 62 02 15 20 71 f4 vpshldvd %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 15 27 71 f4 vpshldvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 15 a7 71 f4 vpshldvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 15 20 71 b4 f0 vpshldvd %ymm29, 0x00001234(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 34 12 00 00 + 62 62 15 20 71 72 7f vpshldvd %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 15 30 71 72 7f vpshldvd %ymm29, 0x000001fc(%rdx), %ymm30, %ymm30 {%k0} + 62 02 95 00 71 f4 vpshldvq %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 71 f4 vpshldvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 71 f4 vpshldvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 71 b4 f0 vpshldvq %xmm29, 0x00001234(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 34 12 00 00 + 62 62 95 00 71 72 7f vpshldvq %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 95 10 71 72 7f vpshldvq %xmm29, 0x000003f8(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 71 f4 vpshldvq %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 71 f4 vpshldvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 71 f4 vpshldvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 71 b4 f0 vpshldvq %ymm29, 0x00001234(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 34 12 00 00 + 62 62 95 20 71 72 7f vpshldvq %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 95 30 71 72 7f vpshldvq %ymm29, 0x000003f8(%rdx), %ymm30, %ymm30 {%k0} + 62 02 95 00 72 f4 vpshrdvw %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 72 f4 vpshrdvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 72 f4 vpshrdvw %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 72 b4 f0 vpshrdvw %xmm29, 0x00001234(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 34 12 00 00 + 62 62 95 00 72 72 7f vpshrdvw %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 72 f4 vpshrdvw %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 72 f4 vpshrdvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 72 f4 vpshrdvw %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 72 b4 f0 vpshrdvw %ymm29, 0x00001234(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 34 12 00 00 + 62 62 95 20 72 72 7f vpshrdvw %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 02 15 00 73 f4 vpshrdvd %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 15 07 73 f4 vpshrdvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 15 87 73 f4 vpshrdvd %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 15 00 73 b4 f0 vpshrdvd %xmm29, 0x00001234(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 34 12 00 00 + 62 62 15 00 73 72 7f vpshrdvd %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 15 10 73 72 7f vpshrdvd %xmm29, 0x000001fc(%rdx), %xmm30, %xmm30 {%k0} + 62 02 15 20 73 f4 vpshrdvd %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 15 27 73 f4 vpshrdvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 15 a7 73 f4 vpshrdvd %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 15 20 73 b4 f0 vpshrdvd %ymm29, 0x00001234(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 34 12 00 00 + 62 62 15 20 73 72 7f vpshrdvd %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 15 30 73 72 7f vpshrdvd %ymm29, 0x000001fc(%rdx), %ymm30, %ymm30 {%k0} + 62 02 95 00 73 f4 vpshrdvq %xmm29, %xmm28, %xmm30, %xmm30 {%k0} + 62 02 95 07 73 f4 vpshrdvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 02 95 87 73 f4 vpshrdvq %xmm29, %xmm28, %xmm30, %xmm30 {%k7} + 62 22 95 00 73 b4 f0 vpshrdvq %xmm29, 0x00001234(%rax,%r14,8), %xmm30, %xmm30 {%k0} + 34 12 00 00 + 62 62 95 00 73 72 7f vpshrdvq %xmm29, 0x000007f0(%rdx), %xmm30, %xmm30 {%k0} + 62 62 95 10 73 72 7f vpshrdvq %xmm29, 0x000003f8(%rdx), %xmm30, %xmm30 {%k0} + 62 02 95 20 73 f4 vpshrdvq %ymm29, %ymm28, %ymm30, %ymm30 {%k0} + 62 02 95 27 73 f4 vpshrdvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 02 95 a7 73 f4 vpshrdvq %ymm29, %ymm28, %ymm30, %ymm30 {%k7} + 62 22 95 20 73 b4 f0 vpshrdvq %ymm29, 0x00001234(%rax,%r14,8), %ymm30, %ymm30 {%k0} + 34 12 00 00 + 62 62 95 20 73 72 7f vpshrdvq %ymm29, 0x00000fe0(%rdx), %ymm30, %ymm30 {%k0} + 62 62 95 30 73 72 7f vpshrdvq %ymm29, 0x000003f8(%rdx), %ymm30, %ymm30 {%k0} + 62 03 95 00 70 f4 ab vpshldw $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 70 f4 ab vpshldw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 70 f4 ab vpshldw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 70 b4 f0 vpshldw $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 95 00 70 72 7f vpshldw $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 70 f4 ab vpshldw $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 70 f4 ab vpshldw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 70 f4 ab vpshldw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 70 b4 f0 vpshldw $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 95 20 70 72 7f vpshldw $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 03 15 00 71 f4 ab vpshldd $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 15 07 71 f4 ab vpshldd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 15 87 71 f4 ab vpshldd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 15 00 71 b4 f0 vpshldd $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 15 00 71 72 7f vpshldd $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 15 10 71 72 7f vpshldd $0x7b, %xmm29, 0x000001fc(%rdx), %xmm30 {%k0} + 7b + 62 03 15 20 71 f4 ab vpshldd $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 15 27 71 f4 ab vpshldd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 15 a7 71 f4 ab vpshldd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 15 20 71 b4 f0 vpshldd $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 15 20 71 72 7f vpshldd $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 15 30 71 72 7f vpshldd $0x7b, %ymm29, 0x000001fc(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 71 f4 ab vpshldq $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 71 f4 ab vpshldq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 71 f4 ab vpshldq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 71 b4 f0 vpshldq $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 95 00 71 72 7f vpshldq $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 71 72 7f vpshldq $0x7b, %xmm29, 0x000003f8(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 71 f4 ab vpshldq $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 71 f4 ab vpshldq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 71 f4 ab vpshldq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 71 b4 f0 vpshldq $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 95 20 71 72 7f vpshldq $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 71 72 7f vpshldq $0x7b, %ymm29, 0x000003f8(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 72 f4 ab vpshrdw $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 72 f4 ab vpshrdw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 72 f4 ab vpshrdw $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 72 b4 f0 vpshrdw $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 95 00 72 72 7f vpshrdw $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 72 f4 ab vpshrdw $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 72 f4 ab vpshrdw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 72 f4 ab vpshrdw $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 72 b4 f0 vpshrdw $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 95 20 72 72 7f vpshrdw $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 03 15 00 73 f4 ab vpshrdd $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 15 07 73 f4 ab vpshrdd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 15 87 73 f4 ab vpshrdd $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 15 00 73 b4 f0 vpshrdd $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 15 00 73 72 7f vpshrdd $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 15 10 73 72 7f vpshrdd $0x7b, %xmm29, 0x000001fc(%rdx), %xmm30 {%k0} + 7b + 62 03 15 20 73 f4 ab vpshrdd $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 15 27 73 f4 ab vpshrdd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 15 a7 73 f4 ab vpshrdd $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 15 20 73 b4 f0 vpshrdd $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 15 20 73 72 7f vpshrdd $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 15 30 73 72 7f vpshrdd $0x7b, %ymm29, 0x000001fc(%rdx), %ymm30 {%k0} + 7b + 62 03 95 00 73 f4 ab vpshrdq $0xab, %xmm29, %xmm28, %xmm30 {%k0} + 62 03 95 07 73 f4 ab vpshrdq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 03 95 87 73 f4 ab vpshrdq $0xab, %xmm29, %xmm28, %xmm30 {%k7} + 62 23 95 00 73 b4 f0 vpshrdq $0x7b, %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 7b + 62 63 95 00 73 72 7f vpshrdq $0x7b, %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 7b + 62 63 95 10 73 72 7f vpshrdq $0x7b, %xmm29, 0x000003f8(%rdx), %xmm30 {%k0} + 7b + 62 03 95 20 73 f4 ab vpshrdq $0xab, %ymm29, %ymm28, %ymm30 {%k0} + 62 03 95 27 73 f4 ab vpshrdq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 03 95 a7 73 f4 ab vpshrdq $0xab, %ymm29, %ymm28, %ymm30 {%k7} + 62 23 95 20 73 b4 f0 vpshrdq $0x7b, %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 7b + 62 63 95 20 73 72 7f vpshrdq $0x7b, %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 7b + 62 63 95 30 73 72 7f vpshrdq $0x7b, %ymm29, 0x000003f8(%rdx), %ymm30 {%k0} + 7b + 62 02 15 00 8d f4 vpermb %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 8d f4 vpermb %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 8d f4 vpermb %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 00 8d 31 vpermb %xmm29, (%rcx), %xmm30 {%k0} + 62 22 15 00 8d b4 f0 vpermb %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 15 00 8d 72 7f vpermb %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 15 00 8d b2 00 vpermb %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 15 00 8d 72 80 vpermb %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 15 00 8d b2 f0 vpermb %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 02 15 20 8d f4 vpermb %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 8d f4 vpermb %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 8d f4 vpermb %ymm29, %ymm28, %ymm30 {%k7} + 62 62 15 20 8d 31 vpermb %ymm29, (%rcx), %ymm30 {%k0} + 62 22 15 20 8d b4 f0 vpermb %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 8d 72 7f vpermb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 20 8d b2 00 vpermb %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 15 20 8d 72 80 vpermb %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 15 20 8d b2 e0 vpermb %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 02 15 00 75 f4 vpermi2b %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 75 f4 vpermi2b %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 75 f4 vpermi2b %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 00 75 31 vpermi2b %xmm29, (%rcx), %xmm30 {%k0} + 62 22 15 00 75 b4 f0 vpermi2b %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 15 00 75 72 7f vpermi2b %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 15 00 75 b2 00 vpermi2b %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 15 00 75 72 80 vpermi2b %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 15 00 75 b2 f0 vpermi2b %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 02 15 20 75 f4 vpermi2b %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 75 f4 vpermi2b %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 75 f4 vpermi2b %ymm29, %ymm28, %ymm30 {%k7} + 62 62 15 20 75 31 vpermi2b %ymm29, (%rcx), %ymm30 {%k0} + 62 22 15 20 75 b4 f0 vpermi2b %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 75 72 7f vpermi2b %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 20 75 b2 00 vpermi2b %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 15 20 75 72 80 vpermi2b %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 15 20 75 b2 e0 vpermi2b %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 02 15 00 7d f4 vpermt2b %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 7d f4 vpermt2b %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 7d f4 vpermt2b %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 00 7d 31 vpermt2b %xmm29, (%rcx), %xmm30 {%k0} + 62 22 15 00 7d b4 f0 vpermt2b %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 15 00 7d 72 7f vpermt2b %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 15 00 7d b2 00 vpermt2b %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 15 00 7d 72 80 vpermt2b %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 15 00 7d b2 f0 vpermt2b %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 02 15 20 7d f4 vpermt2b %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 7d f4 vpermt2b %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 7d f4 vpermt2b %ymm29, %ymm28, %ymm30 {%k7} + 62 62 15 20 7d 31 vpermt2b %ymm29, (%rcx), %ymm30 {%k0} + 62 22 15 20 7d b4 f0 vpermt2b %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 7d 72 7f vpermt2b %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 20 7d b2 00 vpermt2b %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 15 20 7d 72 80 vpermt2b %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 15 20 7d b2 e0 vpermt2b %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 02 95 00 83 f4 vpmultishiftqb %xmm29, %xmm28, %xmm30 {%k0} + 62 02 95 07 83 f4 vpmultishiftqb %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 87 83 f4 vpmultishiftqb %xmm29, %xmm28, %xmm30 {%k7} + 62 62 95 00 83 31 vpmultishiftqb %xmm29, (%rcx), %xmm30 {%k0} + 62 22 95 00 83 b4 f0 vpmultishiftqb %xmm29, 0x00000123(%rax,%r14,8), %xmm30 {%k0} + 23 01 00 00 + 62 62 95 10 83 31 vpmultishiftqb %xmm29, (%rcx), %xmm30 {%k0} + 62 62 95 00 83 72 7f vpmultishiftqb %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 95 00 83 b2 00 vpmultishiftqb %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 95 00 83 72 80 vpmultishiftqb %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 95 00 83 b2 f0 vpmultishiftqb %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 62 95 10 83 72 7f vpmultishiftqb %xmm29, 0x000003f8(%rdx), %xmm30 {%k0} + 62 62 95 10 83 b2 00 vpmultishiftqb %xmm29, 0x00000400(%rdx), %xmm30 {%k0} + 04 00 00 + 62 62 95 10 83 72 80 vpmultishiftqb %xmm29, -0x00000400(%rdx), %xmm30 {%k0} + 62 62 95 10 83 b2 f8 vpmultishiftqb %xmm29, -0x00000408(%rdx), %xmm30 {%k0} + fb ff ff + 62 02 95 20 83 f4 vpmultishiftqb %ymm29, %ymm28, %ymm30 {%k0} + 62 02 95 27 83 f4 vpmultishiftqb %ymm29, %ymm28, %ymm30 {%k7} + 62 02 95 a7 83 f4 vpmultishiftqb %ymm29, %ymm28, %ymm30 {%k7} + 62 62 95 20 83 31 vpmultishiftqb %ymm29, (%rcx), %ymm30 {%k0} + 62 22 95 20 83 b4 f0 vpmultishiftqb %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 95 30 83 31 vpmultishiftqb %ymm29, (%rcx), %ymm30 {%k0} + 62 62 95 20 83 72 7f vpmultishiftqb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 95 20 83 b2 00 vpmultishiftqb %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 95 20 83 72 80 vpmultishiftqb %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 95 20 83 b2 e0 vpmultishiftqb %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 62 95 30 83 72 7f vpmultishiftqb %ymm29, 0x000003f8(%rdx), %ymm30 {%k0} + 62 62 95 30 83 b2 00 vpmultishiftqb %ymm29, 0x00000400(%rdx), %ymm30 {%k0} + 04 00 00 + 62 62 95 30 83 72 80 vpmultishiftqb %ymm29, -0x00000400(%rdx), %ymm30 {%k0} + 62 62 95 30 83 b2 f8 vpmultishiftqb %ymm29, -0x00000408(%rdx), %ymm30 {%k0} + fb ff ff + 62 02 15 00 8d f4 vpermb %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 8d f4 vpermb %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 8d f4 vpermb %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 00 8d 31 vpermb %xmm29, (%rcx), %xmm30 {%k0} + 62 22 15 00 8d b4 f0 vpermb %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 15 00 8d 72 7f vpermb %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 15 00 8d b2 00 vpermb %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 15 00 8d 72 80 vpermb %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 15 00 8d b2 f0 vpermb %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 02 15 20 8d f4 vpermb %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 8d f4 vpermb %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 8d f4 vpermb %ymm29, %ymm28, %ymm30 {%k7} + 62 62 15 20 8d 31 vpermb %ymm29, (%rcx), %ymm30 {%k0} + 62 22 15 20 8d b4 f0 vpermb %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 15 20 8d 72 7f vpermb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 20 8d b2 00 vpermb %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 15 20 8d 72 80 vpermb %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 15 20 8d b2 e0 vpermb %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 02 15 00 75 f4 vpermi2b %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 75 f4 vpermi2b %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 75 f4 vpermi2b %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 00 75 31 vpermi2b %xmm29, (%rcx), %xmm30 {%k0} + 62 22 15 00 75 b4 f0 vpermi2b %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 15 00 75 72 7f vpermi2b %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 15 00 75 b2 00 vpermi2b %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 15 00 75 72 80 vpermi2b %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 15 00 75 b2 f0 vpermi2b %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 02 15 20 75 f4 vpermi2b %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 75 f4 vpermi2b %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 75 f4 vpermi2b %ymm29, %ymm28, %ymm30 {%k7} + 62 62 15 20 75 31 vpermi2b %ymm29, (%rcx), %ymm30 {%k0} + 62 22 15 20 75 b4 f0 vpermi2b %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 15 20 75 72 7f vpermi2b %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 20 75 b2 00 vpermi2b %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 15 20 75 72 80 vpermi2b %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 15 20 75 b2 e0 vpermi2b %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 02 15 00 7d f4 vpermt2b %xmm29, %xmm28, %xmm30 {%k0} + 62 02 15 07 7d f4 vpermt2b %xmm29, %xmm28, %xmm30 {%k7} + 62 02 15 87 7d f4 vpermt2b %xmm29, %xmm28, %xmm30 {%k7} + 62 62 15 00 7d 31 vpermt2b %xmm29, (%rcx), %xmm30 {%k0} + 62 22 15 00 7d b4 f0 vpermt2b %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 15 00 7d 72 7f vpermt2b %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 15 00 7d b2 00 vpermt2b %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 15 00 7d 72 80 vpermt2b %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 15 00 7d b2 f0 vpermt2b %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 02 15 20 7d f4 vpermt2b %ymm29, %ymm28, %ymm30 {%k0} + 62 02 15 27 7d f4 vpermt2b %ymm29, %ymm28, %ymm30 {%k7} + 62 02 15 a7 7d f4 vpermt2b %ymm29, %ymm28, %ymm30 {%k7} + 62 62 15 20 7d 31 vpermt2b %ymm29, (%rcx), %ymm30 {%k0} + 62 22 15 20 7d b4 f0 vpermt2b %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 15 20 7d 72 7f vpermt2b %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 20 7d b2 00 vpermt2b %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 15 20 7d 72 80 vpermt2b %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 15 20 7d b2 e0 vpermt2b %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 02 95 00 83 f4 vpmultishiftqb %xmm29, %xmm28, %xmm30 {%k0} + 62 02 95 07 83 f4 vpmultishiftqb %xmm29, %xmm28, %xmm30 {%k7} + 62 02 95 87 83 f4 vpmultishiftqb %xmm29, %xmm28, %xmm30 {%k7} + 62 62 95 00 83 31 vpmultishiftqb %xmm29, (%rcx), %xmm30 {%k0} + 62 22 95 00 83 b4 f0 vpmultishiftqb %xmm29, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 95 10 83 31 vpmultishiftqb %xmm29, (%rcx), %xmm30 {%k0} + 62 62 95 00 83 72 7f vpmultishiftqb %xmm29, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 95 00 83 b2 00 vpmultishiftqb %xmm29, 0x00000800(%rdx), %xmm30 {%k0} + 08 00 00 + 62 62 95 00 83 72 80 vpmultishiftqb %xmm29, -0x00000800(%rdx), %xmm30 {%k0} + 62 62 95 00 83 b2 f0 vpmultishiftqb %xmm29, -0x00000810(%rdx), %xmm30 {%k0} + f7 ff ff + 62 62 95 10 83 72 7f vpmultishiftqb %xmm29, 0x000003f8(%rdx), %xmm30 {%k0} + 62 62 95 10 83 b2 00 vpmultishiftqb %xmm29, 0x00000400(%rdx), %xmm30 {%k0} + 04 00 00 + 62 62 95 10 83 72 80 vpmultishiftqb %xmm29, -0x00000400(%rdx), %xmm30 {%k0} + 62 62 95 10 83 b2 f8 vpmultishiftqb %xmm29, -0x00000408(%rdx), %xmm30 {%k0} + fb ff ff + 62 02 95 20 83 f4 vpmultishiftqb %ymm29, %ymm28, %ymm30 {%k0} + 62 02 95 27 83 f4 vpmultishiftqb %ymm29, %ymm28, %ymm30 {%k7} + 62 02 95 a7 83 f4 vpmultishiftqb %ymm29, %ymm28, %ymm30 {%k7} + 62 62 95 20 83 31 vpmultishiftqb %ymm29, (%rcx), %ymm30 {%k0} + 62 22 95 20 83 b4 f0 vpmultishiftqb %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} + 34 12 00 00 + 62 62 95 30 83 31 vpmultishiftqb %ymm29, (%rcx), %ymm30 {%k0} + 62 62 95 20 83 72 7f vpmultishiftqb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 95 20 83 b2 00 vpmultishiftqb %ymm29, 0x00001000(%rdx), %ymm30 {%k0} + 10 00 00 + 62 62 95 20 83 72 80 vpmultishiftqb %ymm29, -0x00001000(%rdx), %ymm30 {%k0} + 62 62 95 20 83 b2 e0 vpmultishiftqb %ymm29, -0x00001020(%rdx), %ymm30 {%k0} + ef ff ff + 62 62 95 30 83 72 7f vpmultishiftqb %ymm29, 0x000003f8(%rdx), %ymm30 {%k0} + 62 62 95 30 83 b2 00 vpmultishiftqb %ymm29, 0x00000400(%rdx), %ymm30 {%k0} + 04 00 00 + 62 62 95 30 83 72 80 vpmultishiftqb %ymm29, -0x00000400(%rdx), %ymm30 {%k0} + 62 62 95 30 83 b2 f8 vpmultishiftqb %ymm29, -0x00000408(%rdx), %ymm30 {%k0} + fb ff ff 62 03 95 00 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k0} 62 03 95 07 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} 62 03 95 87 ce f4 ab vgf2p8affineqb $0xab, %xmm29, %xmm28, %xmm30 {%k7} @@ -103493,7 +104466,7 @@ test_x86_64_s: 7b 00 00 00 62 e2 7d 21 91 84 c5 vpgatherqd 0x0000007b(%rbp,%ymm16,8), %ymm16 {%k1} {%k1} 7b 00 00 00 - 62 f1 7c 48 28 05 00 vmovaps 0x00000000100714ca, %zmm0 {%k0} + 62 f1 7c 48 28 05 00 vmovaps 0x0000000010072af6, %zmm0 {%k0} fc ff ff 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax), %zmm0 {%k0} 40 00 00 00 @@ -103742,9 +104715,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010071e65, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010073491, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010071e6f, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x000000001007349b, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -103756,9 +104729,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010071eab, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x00000000100734d7, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010071eb5, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x00000000100734e1, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -103768,13 +104741,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010071eea, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010073516, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010071ef4, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010073520, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010071efd, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010073529, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071f07, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010073533, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 @@ -103788,13 +104761,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010071f50, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x000000001007357c, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010071f5a, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010073586, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010071f63, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x000000001007358f, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010071f6d, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010073599, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 diff --git a/third_party/binutils/test_decenc/test_decenc_x86.asm b/third_party/binutils/test_decenc/test_decenc_x86.asm index 7c7a07a96e9..523fe94c451 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86.asm @@ -132932,8 +132932,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(55) RAW(48) RAW(7d) RAW(72) RAW(80) RAW(62) RAW(f2) RAW(55) RAW(48) RAW(7d) RAW(b2) RAW(c0) RAW(df) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ RAW(62) RAW(f2) RAW(d5) RAW(48) RAW(83) RAW(f4) RAW(62) RAW(f2) RAW(d5) RAW(4f) RAW(83) RAW(f4) RAW(62) RAW(f2) RAW(d5) RAW(cf) RAW(83) RAW(f4) @@ -132953,7 +132951,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(d5) RAW(58) RAW(83) RAW(72) RAW(80) RAW(62) RAW(f2) RAW(d5) RAW(58) RAW(83) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) -#endif /* DISABLED_UNTIL_BUG_1312_IS_FIXED */ RAW(62) RAW(f2) RAW(55) RAW(48) RAW(8d) RAW(f4) RAW(62) RAW(f2) RAW(55) RAW(4f) RAW(8d) RAW(f4) RAW(62) RAW(f2) RAW(55) RAW(cf) RAW(8d) RAW(f4) @@ -132990,8 +132987,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(55) RAW(48) RAW(7d) RAW(72) RAW(80) RAW(62) RAW(f2) RAW(55) RAW(48) RAW(7d) RAW(b2) RAW(c0) RAW(df) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ RAW(62) RAW(f2) RAW(d5) RAW(48) RAW(83) RAW(f4) RAW(62) RAW(f2) RAW(d5) RAW(4f) RAW(83) RAW(f4) RAW(62) RAW(f2) RAW(d5) RAW(cf) RAW(83) RAW(f4) @@ -133864,7 +133859,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(f2) RAW(d5) RAW(3f) RAW(83) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) END_OF_SUBTEST_MARKER -#endif /* avx512vl_gfni.s */ RAW(62) RAW(f3) RAW(d5) RAW(0f) RAW(ce) RAW(f4) RAW(ab) diff --git a/third_party/binutils/test_decenc/test_decenc_x86_64.asm b/third_party/binutils/test_decenc/test_decenc_x86_64.asm index 526b56269ae..d4377d3be5a 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86_64.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86_64.asm @@ -98757,8 +98757,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(62) RAW(15) RAW(40) RAW(7d) RAW(72) RAW(80) RAW(62) RAW(62) RAW(15) RAW(40) RAW(7d) RAW(b2) RAW(c0) RAW(df) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ RAW(62) RAW(02) RAW(95) RAW(40) RAW(83) RAW(f4) RAW(62) RAW(02) RAW(95) RAW(47) RAW(83) RAW(f4) RAW(62) RAW(02) RAW(95) RAW(c7) RAW(83) RAW(f4) @@ -98778,7 +98776,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(62) RAW(95) RAW(50) RAW(83) RAW(72) RAW(80) RAW(62) RAW(62) RAW(95) RAW(50) RAW(83) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) -#endif /* DISABLED_UNTIL_BUG_1312_IS_FIXED */ RAW(62) RAW(02) RAW(15) RAW(40) RAW(8d) RAW(f4) RAW(62) RAW(02) RAW(15) RAW(47) RAW(8d) RAW(f4) RAW(62) RAW(02) RAW(15) RAW(c7) RAW(8d) RAW(f4) @@ -98815,8 +98812,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(62) RAW(15) RAW(40) RAW(7d) RAW(72) RAW(80) RAW(62) RAW(62) RAW(15) RAW(40) RAW(7d) RAW(b2) RAW(c0) RAW(df) RAW(ff) RAW(ff) -#ifdef DISABLED_UNTIL_BUG_1312_IS_FIXED -/* The following tests are disabled (xref i#1312). */ RAW(62) RAW(02) RAW(95) RAW(40) RAW(83) RAW(f4) RAW(62) RAW(02) RAW(95) RAW(47) RAW(83) RAW(f4) RAW(62) RAW(02) RAW(95) RAW(c7) RAW(83) RAW(f4) @@ -99777,7 +99772,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(62) RAW(62) RAW(95) RAW(30) RAW(83) RAW(72) RAW(80) RAW(62) RAW(62) RAW(95) RAW(30) RAW(83) RAW(b2) RAW(f8) RAW(fb) RAW(ff) RAW(ff) -#endif /* x86_64_avx512vl_gfni.s */ RAW(62) RAW(03) RAW(95) RAW(00) RAW(ce) RAW(f4) RAW(ab) From 787bc7889ca398aa9e98813ba37fd438be389467 Mon Sep 17 00:00:00 2001 From: Johan Mattsson <39247600+mjunix@users.noreply.github.com> Date: Fri, 13 Dec 2024 17:29:40 +0100 Subject: [PATCH 09/13] Fix failing Windows build (`std::replace` requires ``) (#7127) In raw2trace_directory.cpp, `std::replace` requires ``. --- clients/drcachesim/tracer/raw2trace_directory.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/clients/drcachesim/tracer/raw2trace_directory.cpp b/clients/drcachesim/tracer/raw2trace_directory.cpp index bddb8c7fa82..cfd1880183e 100644 --- a/clients/drcachesim/tracer/raw2trace_directory.cpp +++ b/clients/drcachesim/tracer/raw2trace_directory.cpp @@ -43,6 +43,7 @@ # include #endif +#include #include #include #include From cb34664c54620de2686512186dc74dfadf04ef88 Mon Sep 17 00:00:00 2001 From: Edmund Grimley Evans Date: Fri, 13 Dec 2024 19:14:07 +0000 Subject: [PATCH 10/13] i#3699: Remove retcode from 32-bit ARM rt_sigframe. (#7131) The definition did not agree with the Linux kernel's definition. There is a retcode field in sigframe, but not in rt_sigframe. This change made the previously failing common.segfault test pass in a Debian 10 container running under a 64-bit 5.4.47 kernel on Cortex-A72 hardware. Issue: #3699 --- core/unix/signal.c | 1 - core/unix/signal_private.h | 3 --- 2 files changed, 4 deletions(-) diff --git a/core/unix/signal.c b/core/unix/signal.c index e9fd151593a..55f3eafa390 100644 --- a/core/unix/signal.c +++ b/core/unix/signal.c @@ -3671,7 +3671,6 @@ convert_frame_to_nonrt(dcontext_t *dcontext, int sig, sigframe_rt_t *f_old, f_new->sig_noclobber = f_new->sig; # elif defined(ARM) memcpy(&f_new->uc, &f_old->uc, sizeof(f_new->uc)); - memcpy(f_new->retcode, f_old->retcode, sizeof(f_new->retcode)); /* now fill in our extra field */ f_new->sig_noclobber = f_old->info.si_signo; # endif /* X86 */ diff --git a/core/unix/signal_private.h b/core/unix/signal_private.h index aecc6183891..84f2050c740 100644 --- a/core/unix/signal_private.h +++ b/core/unix/signal_private.h @@ -286,9 +286,6 @@ typedef struct rt_sigframe { # elif defined(AARCHXX) kernel_siginfo_t info; kernel_ucontext_t uc; -# ifdef ARM - char retcode[RETCODE_SIZE]; -# endif # elif defined(RISCV64) kernel_siginfo_t info; kernel_ucontext_t uc; From 77025074320236fa1d5c2a2284375f8dae94c3b5 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Sat, 14 Dec 2024 07:19:47 +0800 Subject: [PATCH 11/13] s/evex_W_ext/evex_Wb_ext/ (#7129) When I expanded this table a couple years ago to handle broadcast variants the comments did not get adjusted. Do that now. This is a comments-only change. --- core/ir/x86/decode_table.c | 582 ++++++++++++++++++------------------- 1 file changed, 291 insertions(+), 291 deletions(-) diff --git a/core/ir/x86/decode_table.c b/core/ir/x86/decode_table.c index 842a05b8748..9d6ec9205b8 100644 --- a/core/ir/x86/decode_table.c +++ b/core/ir/x86/decode_table.c @@ -8167,237 +8167,237 @@ const instr_info_t vex_W_extensions[][2] = { * Index is evex.W value * 2 + evex.b value */ const instr_info_t evex_Wb_extensions[][4] = { - { /* evex_W_ext 0 */ + { /* evex_Wb_ext 0 */ {OP_vmovups, 0x0f1000, catFP | catMove | catSIMD, "vmovups", Ves,xx,KEd,Wes,xx,mrm|evex|ttfvm,x,tevexwb[1][0]}, {INVALID, 0x0f1010, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1040, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1050, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 1 */ + }, { /* evex_Wb_ext 1 */ {OP_vmovups, 0x0f1100, catFP | catMove | catSIMD, "vmovups", Wes,xx,KEd,Ves,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0x0f1110, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1140, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1150, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 2 */ + }, { /* evex_Wb_ext 2 */ {INVALID, 0x660f1000, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1010, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovupd, 0x660f1040, catFP | catMove | catSIMD, "vmovupd", Ved,xx,KEd,Wed,xx,mrm|evex|ttfvm,x,tevexwb[3][2]}, {INVALID, 0x660f1050, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 3 */ + }, { /* evex_Wb_ext 3 */ {INVALID, 0x660f1100, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1110, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovupd, 0x660f1140, catFP | catMove | catSIMD, "vmovupd", Wed,xx,KEd,Ved,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0x660f1150, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 4 */ + }, { /* evex_Wb_ext 4 */ {OP_vmovaps, 0x0f2800, catFP | catMove | catSIMD, "vmovaps", Ves,xx,KEd,Wes,xx,mrm|evex|ttfvm,x,tevexwb[5][0]}, {INVALID, 0x0f2810, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2840, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2850, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 5 */ + }, { /* evex_Wb_ext 5 */ {OP_vmovaps, 0x0f2900, catFP | catMove | catSIMD, "vmovaps", Wes,xx,KEd,Ves,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0x0f2910, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2940, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2950, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 6 */ + }, { /* evex_Wb_ext 6 */ {INVALID, 0x660f2800, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f2810, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovapd, 0x660f2840, catFP | catMove | catSIMD, "vmovapd", Ved,xx,KEd,Wed,xx,mrm|evex|ttfvm,x,tevexwb[7][2]}, {INVALID, 0x660f2850, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 7 */ + }, { /* evex_Wb_ext 7 */ {INVALID, 0x660f2900, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f2910, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovapd, 0x660f2940, catFP | catMove | catSIMD, "vmovapd", Wed,xx,KEd,Ved,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0x660f2950, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 8 */ + }, { /* evex_Wb_ext 8 */ {OP_vmovdqa32, 0x660f6f00, catSIMD, "vmovdqa32",Ve,xx,KEw,We,xx,mrm|evex|ttfvm,x,tevexwb[9][0]}, {INVALID, 0x660f6f10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovdqa64, 0x660f6f40, catSIMD, "vmovdqa64",Ve,xx,KEw,We,xx,mrm|evex|ttfvm,x,tevexwb[9][2]}, {INVALID, 0x660f6f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 9 */ + }, { /* evex_Wb_ext 9 */ {OP_vmovdqa32, 0x660f7f00, catSIMD, "vmovdqa32",We,xx,KEw,Ve,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0x660f7f10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovdqa64, 0x660f7f40, catSIMD, "vmovdqa64",We,xx,KEw,Ve,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0x660f7f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 10 */ + }, { /* evex_Wb_ext 10 */ {OP_vmovdqu8, 0xf20f6f00, catSIMD, "vmovdqu8",Ve,xx,KEw,We,xx,mrm|evex|ttfvm,x,tevexwb[12][0]}, {INVALID, 0xf20f6f10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovdqu16, 0xf20f6f40, catSIMD, "vmovdqu16",Ve,xx,KEw,We,xx,mrm|evex|ttfvm,x,tevexwb[12][2]}, {INVALID, 0xf20f6f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 11 */ + }, { /* evex_Wb_ext 11 */ {OP_vmovdqu32, 0xf30f6f00, catSIMD, "vmovdqu32",Ve,xx,KEw,We,xx,mrm|evex|ttfvm,x,tevexwb[13][0]}, {INVALID, 0xf30f6f10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovdqu64, 0xf30f6f40, catSIMD, "vmovdqu64",Ve,xx,KEw,We,xx,mrm|evex|ttfvm,x,tevexwb[13][2]}, {INVALID, 0xf30f6f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 12 */ + }, { /* evex_Wb_ext 12 */ {OP_vmovdqu8, 0xf20f7f00, catSIMD, "vmovdqu8",We,xx,KEw,Ve,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0xf20f7f10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovdqu16, 0xf20f7f40, catSIMD, "vmovdqu16",We,xx,KEw,Ve,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0xf20f7f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 13 */ + }, { /* evex_Wb_ext 13 */ {OP_vmovdqu32, 0xf30f7f00, catSIMD, "vmovdqu32",We,xx,KEw,Ve,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0xf30f7f10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovdqu64, 0xf30f7f40, catSIMD, "vmovdqu64",We,xx,KEw,Ve,xx,mrm|evex|ttfvm,x,END_LIST}, {INVALID, 0xf30f7f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 14 */ + }, { /* evex_Wb_ext 14 */ {OP_vmovlps, 0x0f1200, catFP | catMove | catSIMD, "vmovlps", Vq_dq, xx, Hq_dq, Wq_dq, xx, mrm|evex|reqL0|reqLL0|ttt2, x, tevexwb[15][0]}, /*"vmovhlps" if reg-reg */ {INVALID, 0x0f1210, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1240, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1250, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 15 */ + }, { /* evex_Wb_ext 15 */ {OP_vmovlps, 0x0f1300, catFP | catMove | catSIMD, "vmovlps", Mq, xx, Vq_dq, xx, xx, mrm|evex|ttt2, x, END_LIST}, {INVALID, 0x0f1310, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1340, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1350, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 16 */ + }, { /* evex_Wb_ext 16 */ {INVALID, 0x660f1200, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1210, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovlpd, 0x660f1240, catFP | catMove | catSIMD, "vmovlpd", Vq_dq, xx, Hq_dq, Mq, xx, mrm|evex|reqL0|reqLL0|ttt1s, x, tevexwb[17][2]}, {INVALID, 0x660f1250, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 17 */ + }, { /* evex_Wb_ext 17 */ {INVALID, 0x660f1300, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1310, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovlpd, 0x660f1340, catFP | catMove | catSIMD, "vmovlpd", Mq, xx, Vq_dq, xx, xx, mrm|evex|ttt1s, x, END_LIST}, {INVALID, 0x660f1350, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 18 */ + }, { /* evex_Wb_ext 18 */ {OP_vmovsldup, 0xf30f1200, catFP | catMove | catSIMD, "vmovsldup", Ves, xx, KEw, Wes, xx, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0xf30f1210, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0xf30f1240, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0xf30f1250, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 19 */ + }, { /* evex_Wb_ext 19 */ {INVALID, 0xf20f1200, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0xf20f1210, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovddup, 0xf20f1240, catFP | catMove | catSIMD, "vmovddup", Ved, xx, KEb, We, xx, mrm|evex|ttdup, x, END_LIST}, {INVALID, 0xf20f1250, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 20 */ + }, { /* evex_Wb_ext 20 */ {OP_vmovhps, 0x0f1600, catFP | catMove | catSIMD, "vmovhps", Vq_dq, xx, Hq_dq, Wq_dq, xx, mrm|evex|reqL0|reqLL0|ttt2, x, tevexwb[21][0]}, /*"vmovlhps" if reg-reg */ {INVALID, 0x0f1610, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1640, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1650, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 21 */ + }, { /* evex_Wb_ext 21 */ {OP_vmovhps, 0x0f1700, catFP | catMove | catSIMD, "vmovhps", Mq, xx, Vq_dq, xx, xx, mrm|evex|reqL0|reqLL0|ttt2, x, END_LIST}, {INVALID, 0x0f1710, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1740, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1750, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 22 */ + }, { /* evex_Wb_ext 22 */ {INVALID, 0x660f1600, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1610, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovhpd, 0x660f1640, catFP | catMove | catSIMD, "vmovhpd", Vq_dq, xx, Hq_dq, Mq, xx, mrm|evex|reqL0|reqLL0|ttt1s, x, tevexwb[23][2]}, {INVALID, 0x660f1650, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 23 */ + }, { /* evex_Wb_ext 23 */ {INVALID, 0x660f1700, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1710, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovhpd, 0x660f1740, catFP | catMove | catSIMD, "vmovhpd", Mq, xx, Vq_dq, xx, xx, mrm|evex|reqL0|reqLL0|ttt1s, x, END_LIST}, {INVALID, 0x660f1750, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 24 */ + }, { /* evex_Wb_ext 24 */ {OP_vmovshdup, 0xf30f1600, catFP | catMove | catSIMD, "vmovshdup", Ves, xx, KEw, Wes, xx, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0xf30f1610, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0xf30f1640, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0xf30f1650, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 25 */ + }, { /* evex_Wb_ext 25 */ {OP_vunpcklps, 0x0f1400, catFP | catMove | catSIMD, "vunpcklps", Ves, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[25][1]}, {OP_vunpcklps, 0x0f1410, catFP | catMove | catSIMD, "vunpcklps", Ves, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0x0f1440, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1450, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 26 */ + }, { /* evex_Wb_ext 26 */ {INVALID, 0x660f1400, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1410, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vunpcklpd, 0x660f1440, catFP | catMove | catSIMD, "vunpcklpd", Ved, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[26][3]}, {OP_vunpcklpd, 0x660f1450, catFP | catMove | catSIMD, "vunpcklpd", Ved, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 27 */ + }, { /* evex_Wb_ext 27 */ {OP_vunpckhps, 0x0f1500, catFP | catMove | catSIMD, "vunpckhps", Ves, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[27][1]}, {OP_vunpckhps, 0x0f1510, catFP | catMove | catSIMD, "vunpckhps", Ves, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0x0f1540, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f1550, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 28 */ + }, { /* evex_Wb_ext 28 */ {INVALID, 0x660f1500, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f1510, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vunpckhpd, 0x660f1540, catFP | catMove | catSIMD, "vunpckhpd", Ved, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[28][3]}, {OP_vunpckhpd, 0x660f1550, catFP | catMove | catSIMD, "vunpckhpd", Ved, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 29 */ + }, { /* evex_Wb_ext 29 */ {OP_vcvtss2si, 0xf30f2d00, catFP | catConvert | catSIMD, "vcvtss2si", Gd, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[29][1]}, {OP_vcvtss2si, 0xf30f2d10, catFP | catConvert | catSIMD, "vcvtss2si", Gd, xx, Ups, xx, xx, mrm|evex|er|ttt1f|inopsz4, x, tevexwb[29][2]}, {OP_vcvtss2si, 0xf30f2d40, catFP | catConvert | catSIMD, "vcvtss2si", Gy, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[29][3]}, {OP_vcvtss2si, 0xf30f2d50, catFP | catConvert | catSIMD, "vcvtss2si", Gy, xx, Ups, xx, xx, mrm|evex|er|ttt1f|inopsz4, x, END_LIST}, - }, { /* evex_W_ext 30 */ + }, { /* evex_Wb_ext 30 */ {OP_vcvtsd2si, 0xf20f2d00, catFP | catConvert | catSIMD, "vcvtsd2si", Gd, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[30][1]}, {OP_vcvtsd2si, 0xf20f2d10, catFP | catConvert | catSIMD, "vcvtsd2si", Gd, xx, Upd, xx, xx, mrm|evex|er|ttt1f|inopsz8, x, tevexwb[30][2]}, {OP_vcvtsd2si, 0xf20f2d40, catFP | catConvert | catSIMD, "vcvtsd2si", Gy, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[30][3]}, {OP_vcvtsd2si, 0xf20f2d50, catFP | catConvert | catSIMD, "vcvtsd2si", Gy, xx, Upd, xx, xx, mrm|evex|er|ttt1f|inopsz8, x, END_LIST}, - }, { /* evex_W_ext 31 */ + }, { /* evex_Wb_ext 31 */ {OP_vcvtsi2ss, 0xf30f2a00, catFP | catConvert | catSIMD, "vcvtsi2ss", Vdq, xx, H12_dq, Ed, xx, mrm|evex|ttt1s, x, tevexwb[31][1]}, {OP_vcvtsi2ss, 0xf30f2a10, catFP | catConvert | catSIMD, "vcvtsi2ss", Vdq, xx, H12_dq, Rd, xx, mrm|evex|er|ttt1s, x, tevexwb[31][2]}, {OP_vcvtsi2ss, 0xf30f2a40, catFP | catConvert | catSIMD, "vcvtsi2ss", Vdq, xx, H12_dq, Ey, xx, mrm|evex|ttt1s, x, tevexwb[31][3]}, {OP_vcvtsi2ss, 0xf30f2a50, catFP | catConvert | catSIMD, "vcvtsi2ss", Vdq, xx, H12_dq, Ry, xx, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 32 */ + }, { /* evex_Wb_ext 32 */ {OP_vcvtsi2sd, 0xf20f2a00, catFP | catConvert | catSIMD, "vcvtsi2sd", Vdq, xx, Hsd, Ed, xx, mrm|evex|ttt1s, x, tevexwb[32][2]}, {INVALID, 0xf20f2a10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vcvtsi2sd, 0xf20f2a40, catFP | catConvert | catSIMD, "vcvtsi2sd", Vdq, xx, Hsd, Ey, xx, mrm|evex|ttt1s, x, tevexwb[32][3]}, {OP_vcvtsi2sd, 0xf20f2a50, catFP | catConvert | catSIMD, "vcvtsi2sd", Vdq, xx, Hsd, Ry, xx, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 33 */ + }, { /* evex_Wb_ext 33 */ {OP_vmovntps, 0x0f2b00, catFP | catMove | catSIMD, "vmovntps", Mes, xx, Ves, xx, xx, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0x0f2b10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2b40, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2b50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 34 */ + }, { /* evex_Wb_ext 34 */ {INVALID, 0x660f2b00, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f2b10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovntpd, 0x660f2b40, catFP | catMove | catSIMD, "vmovntpd", Med, xx, Ved, xx, xx, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0x660f2b50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 35 */ + }, { /* evex_Wb_ext 35 */ {OP_vcvttss2si, 0xf30f2c00, catFP | catConvert | catSIMD, "vcvttss2si", Gd, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[35][1]}, {OP_vcvttss2si, 0xf30f2c10, catFP | catConvert | catSIMD, "vcvttss2si", Gd, xx, Uss, xx, xx, mrm|evex|sae|ttt1f|inopsz4, x, tevexwb[35][2]}, {OP_vcvttss2si, 0xf30f2c40, catFP | catConvert | catSIMD, "vcvttss2si", Gy, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[35][3]}, {OP_vcvttss2si, 0xf30f2c50, catFP | catConvert | catSIMD, "vcvttss2si", Gy, xx, Uss, xx, xx, mrm|evex|sae|ttt1f|inopsz4, x, END_LIST}, - }, { /* evex_W_ext 36 */ + }, { /* evex_Wb_ext 36 */ {OP_vcvttsd2si, 0xf20f2c00, catFP | catConvert | catSIMD, "vcvttsd2si", Gd, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[36][1]}, {OP_vcvttsd2si, 0xf20f2c10, catFP | catConvert | catSIMD, "vcvttsd2si", Gd, xx, Usd, xx, xx, mrm|evex|sae|ttt1f|inopsz8, x, tevexwb[36][2]}, {OP_vcvttsd2si, 0xf20f2c40, catFP | catConvert | catSIMD, "vcvttsd2si", Gy, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[36][3]}, {OP_vcvttsd2si, 0xf20f2c50, catFP | catConvert | catSIMD, "vcvttsd2si", Gy, xx, Usd, xx, xx, mrm|evex|sae|ttt1f|inopsz8, x, END_LIST}, - }, { /* evex_W_ext 37 */ + }, { /* evex_Wb_ext 37 */ {OP_vucomiss, 0x0f2e00, catFP | catMath | catSIMD, "vucomiss", xx, xx, Vss, Wss, xx, mrm|evex|ttt1s, fW6, tevexwb[37][1]}, {OP_vucomiss, 0x0f2e10, catFP | catMath | catSIMD, "vucomiss", xx, xx, Vss, Uss, xx, mrm|evex|sae|ttt1s, fW6, END_LIST}, {INVALID, 0x0f2e40, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2e50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 38 */ + }, { /* evex_Wb_ext 38 */ {INVALID, 0x660f2e00, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f2e10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vucomisd, 0x660f2e40, catFP | catMath | catSIMD, "vucomisd", xx, xx, Vsd, Wsd, xx, mrm|evex|ttt1s, fW6, tevexwb[38][1]}, {OP_vucomisd, 0x660f2e50, catFP | catMath | catSIMD, "vucomisd", xx, xx, Vsd, Usd, xx, mrm|evex|sae|ttt1s, fW6, END_LIST}, - }, { /* evex_W_ext 39 */ + }, { /* evex_Wb_ext 39 */ {OP_vcomiss, 0x0f2f00, catFP | catMath | catSIMD, "vcomiss", xx, xx, Vss, Wss, xx, mrm|evex|ttt1f|inopsz4, fW6, tevexwb[39][1]}, {OP_vcomiss, 0x0f2f10, catFP | catMath | catSIMD, "vcomiss", xx, xx, Vss, Uss, xx, mrm|evex|sae|ttt1f|inopsz4, fW6, END_LIST}, {INVALID, 0x0f2f40, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x0f2f50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 40 */ + }, { /* evex_Wb_ext 40 */ {INVALID, 0x660f2e00, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f2e10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vcomisd, 0x660f2f40, catFP | catMath | catSIMD, "vcomisd", xx, xx, Vsd, Wsd, xx, mrm|evex|ttt1f|inopsz8, fW6, tevexwb[40][1]}, {OP_vcomisd, 0x660f2f50, catFP | catMath | catSIMD, "vcomisd", xx, xx, Vsd, Usd, xx, mrm|evex|sae|ttt1f|inopsz8, fW6, END_LIST}, - }, { /* evex_W_ext 41 */ + }, { /* evex_Wb_ext 41 */ {OP_vpandd, 0x660fdb00, catSIMD, "vpandd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[41][1]}, {OP_vpandd, 0x660fdb10, catSIMD, "vpandd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vpandq, 0x660fdb40, catSIMD, "vpandq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[41][3]}, {OP_vpandq, 0x660fdb50, catSIMD, "vpandq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 42 */ + }, { /* evex_Wb_ext 42 */ {OP_vpandnd, 0x660fdf00, catSIMD, "vpandnd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[42][1]}, {OP_vpandnd, 0x660fdf10, catSIMD, "vpandnd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vpandnq, 0x660fdf40, catSIMD, "vpandnq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[42][3]}, {OP_vpandnq, 0x660fdf50, catSIMD, "vpandnq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 43 */ + }, { /* evex_Wb_ext 43 */ {OP_vpord, 0x660feb00, catSIMD, "vpord", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[43][1]}, {OP_vpord, 0x660feb10, catSIMD, "vpord", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vporq, 0x660feb40, catSIMD, "vporq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[43][3]}, {OP_vporq, 0x660feb50, catSIMD, "vporq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 44 */ + }, { /* evex_Wb_ext 44 */ {OP_vpxord, 0x660fef00, catSIMD, "vpxord", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[44][1]}, {OP_vpxord, 0x660fef10, catSIMD, "vpxord", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vpxorq, 0x660fef40, catSIMD, "vpxorq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[44][3]}, {OP_vpxorq, 0x660fef50, catSIMD, "vpxorq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 45 */ + }, { /* evex_Wb_ext 45 */ {OP_vpmulld, 0x66384008, catSIMD, "vpmulld", Ve, xx, KEw,He,We, mrm|evex|reqp|ttfv, x, tevexwb[45][1]}, {OP_vpmulld, 0x66384018, catSIMD, "vpmulld", Ve, xx, KEw,He,Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpmullq, 0x66384048, catUncategorized, "vpmullq", Ve, xx, KEb,He,We, mrm|evex|reqp|ttfv, x, tevexwb[45][3]}, {OP_vpmullq, 0x66384058, catUncategorized, "vpmullq", Ve, xx, KEb,He,Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 46 */ + }, { /* evex_Wb_ext 46 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -8405,12 +8405,12 @@ const instr_info_t evex_Wb_extensions[][4] = { {MOD_EXT, 0x660f7b10, catUncategorized, "(mod ext 24)", xx, xx, xx, xx, xx, mrm|evex, x, 24}, {OP_vcvtpd2qq, 0x660f7b40, catSIMD, "vcvtpd2qq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[25][0]}, {MOD_EXT, 0x660f7b50, catUncategorized, "(mod ext 25)", xx, xx, xx, xx, xx, mrm|evex, x, 25}, - }, { /* evex_W_ext 47 */ + }, { /* evex_Wb_ext 47 */ {OP_vcvtps2udq, 0x0f7900, catSIMD, "vcvtps2udq", Ve, xx, KEw, Wes, xx, mrm|evex|ttfv, x, modx[26][0]}, {MOD_EXT, 0x0f7910, catUncategorized, "(mod ext 26)", xx, xx, xx, xx, xx, mrm|evex, x, 26}, {OP_vcvtpd2udq, 0x0f7940, catSIMD, "vcvtpd2udq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[27][0]}, {MOD_EXT, 0x0f7950, catUncategorized, "(mod ext 27)", xx, xx, xx, xx, xx, mrm|evex, x, 27}, - }, { /* evex_W_ext 48 */ + }, { /* evex_Wb_ext 48 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -8418,7 +8418,7 @@ const instr_info_t evex_Wb_extensions[][4] = { {MOD_EXT, 0x660f7910, catUncategorized, "(mod ext 28)", xx, xx, xx, xx, xx, mrm|evex, x, 28}, {OP_vcvtpd2uqq, 0x660f7940, catSIMD, "vcvtpd2uqq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[29][0]}, {MOD_EXT, 0x660f7950, catUncategorized, "(mod ext 29)", xx, xx, xx, xx, xx, mrm|evex, x, 29}, - }, { /* evex_W_ext 49 */ + }, { /* evex_Wb_ext 49 */ {OP_vcvttps2udq, 0x0f7800, catSIMD, "vcvttps2udq", Ve, xx, KEw, Wes, xx, mrm|evex|ttfv, x, modx[30][0]}, {MOD_EXT, 0x0f7810, catUncategorized, "(mod ext 30)", xx, xx, xx, xx, xx, mrm|evex, x, 30}, /* XXX i#3639: tools tend to accept different source/destination register mnemonics. @@ -8426,7 +8426,7 @@ const instr_info_t evex_Wb_extensions[][4] = { */ {OP_vcvttpd2udq, 0x0f7840, catSIMD, "vcvttpd2udq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[31][0]}, {MOD_EXT, 0x0f7840, catUncategorized, "(mod ext 31)", xx, xx, xx, xx, xx, mrm|evex, x, 31}, - }, { /* evex_W_ext 50 */ + }, { /* evex_Wb_ext 50 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -8434,7 +8434,7 @@ const instr_info_t evex_Wb_extensions[][4] = { {MOD_EXT, 0x660f7a10, catUncategorized, "(mod ext 32)", xx, xx, xx, xx, xx, mrm|evex, x, 32}, {OP_vcvttpd2qq, 0x660f7a40, catSIMD, "vcvttpd2qq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[33][0]}, {MOD_EXT, 0x660f7a50, catUncategorized, "(mod ext 33)", xx, xx, xx, xx, xx, mrm|evex, x, 33}, - }, { /* evex_W_ext 51 */ + }, { /* evex_Wb_ext 51 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -8442,27 +8442,27 @@ const instr_info_t evex_Wb_extensions[][4] = { {MOD_EXT, 0x660f7810, catUncategorized, "(mod ext 34)", xx, xx, xx, xx, xx, mrm|evex, x, 34}, {OP_vcvttpd2uqq, 0x660f7840, catSIMD, "vcvttpd2uqq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[35][0]}, {MOD_EXT, 0x660f7850, catUncategorized, "(mod ext 35)", xx, xx, xx, xx, xx, mrm|evex, x, 35}, - }, { /* evex_W_ext 52 */ + }, { /* evex_Wb_ext 52 */ {OP_vcvtss2usi, 0xf30f7900, catSIMD, "vcvtss2usi", Gd, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[52][1]}, {OP_vcvtss2usi, 0xf30f7910, catSIMD, "vcvtss2usi", Gd, xx, Uss, xx, xx, mrm|evex|er|ttt1f|inopsz4, x, tevexwb[52][2]}, {OP_vcvtss2usi, 0xf30f7940, catSIMD, "vcvtss2usi", Gy, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[52][3]}, {OP_vcvtss2usi, 0xf30f7950, catSIMD, "vcvtss2usi", Gy, xx, Uss, xx, xx, mrm|evex|er|ttt1f|inopsz4, x, END_LIST}, - }, { /* evex_W_ext 53 */ + }, { /* evex_Wb_ext 53 */ {OP_vcvtsd2usi, 0xf20f7900, catSIMD, "vcvtsd2usi", Gd, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[53][1]}, {OP_vcvtsd2usi, 0xf20f7910, catSIMD, "vcvtsd2usi", Gd, xx, Usd, xx, xx, mrm|evex|er|ttt1f|inopsz8, x, tevexwb[53][2]}, {OP_vcvtsd2usi, 0xf20f7940, catSIMD, "vcvtsd2usi", Gy, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[53][1]}, {OP_vcvtsd2usi, 0xf20f7950, catSIMD, "vcvtsd2usi", Gy, xx, Usd, xx, xx, mrm|evex|er|ttt1f|inopsz8, x, END_LIST}, - }, { /* evex_W_ext 54 */ + }, { /* evex_Wb_ext 54 */ {OP_vcvttss2usi, 0xf30f7800, catSIMD, "vcvttss2usi", Gd, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[54][1]}, {OP_vcvttss2usi, 0xf30f7810, catSIMD, "vcvttss2usi", Gd, xx, Uss, xx, xx, mrm|evex|sae|ttt1f|inopsz4, x, tevexwb[54][2]}, {OP_vcvttss2usi, 0xf30f7840, catSIMD, "vcvttss2usi", Gy, xx, Wss, xx, xx, mrm|evex|ttt1f|inopsz4, x, tevexwb[54][3]}, {OP_vcvttss2usi, 0xf30f7850, catSIMD, "vcvttss2usi", Gy, xx, Uss, xx, xx, mrm|evex|sae|ttt1f|inopsz4, x, END_LIST}, - }, { /* evex_W_ext 55 */ + }, { /* evex_Wb_ext 55 */ {OP_vcvttsd2usi, 0xf20f7800, catSIMD, "vcvttsd2usi", Gd, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[55][1]}, {OP_vcvttsd2usi, 0xf20f7810, catSIMD, "vcvttsd2usi", Gd, xx, Usd, xx, xx, mrm|evex|sae|ttt1f|inopsz8, x, tevexwb[55][2]}, {OP_vcvttsd2usi, 0xf20f7840, catSIMD, "vcvttsd2usi", Gy, xx, Wsd, xx, xx, mrm|evex|ttt1f|inopsz8, x, tevexwb[55][3]}, {OP_vcvttsd2usi, 0xf20f7850, catSIMD, "vcvttsd2usi", Gy, xx, Usd, xx, xx, mrm|evex|sae|ttt1f|inopsz8, x, END_LIST}, - }, { /* evex_W_ext 56 */ + }, { /* evex_Wb_ext 56 */ {OP_vcvtdq2ps, 0x0f5b00, catFP | catConvert | catSIMD, "vcvtdq2ps", Ves, xx, KEw, We, xx, mrm|evex|ttfv, x, modx[36][0]}, {MOD_EXT, 0x0f5b10, catUncategorized, "(mod ext 36)", xx, xx, xx, xx, xx, mrm|evex, x, 36}, /* XXX i#3639: tools tend to accept different source/destination register mnemonics. @@ -8470,7 +8470,7 @@ const instr_info_t evex_Wb_extensions[][4] = { */ {OP_vcvtqq2ps, 0x0f5b40, catSIMD, "vcvtqq2ps", Ves, xx, KEb, We, xx, mrm|evex|ttfv, x, modx[37][0]}, {MOD_EXT, 0x0f5b50, catUncategorized, "(mod ext 37)", xx, xx, xx, xx, xx, mrm|evex, x, 37}, - }, { /* evex_W_ext 57 */ + }, { /* evex_Wb_ext 57 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -8478,662 +8478,662 @@ const instr_info_t evex_Wb_extensions[][4] = { {OP_vcvtdq2pd, 0xf30fe610, catFP | catConvert | catSIMD, "vcvtdq2pd", Ved, xx, KEb, Md, xx, mrm|evex|tthv, x, END_LIST}, {OP_vcvtqq2pd, 0xf30fe640, catSIMD, "vcvtqq2pd", Ved, xx, KEb, We, xx, mrm|evex|ttfv, x, modx[38][0]}, {MOD_EXT, 0xf30fe650, catUncategorized, "(mod ext 38)", xx, xx, xx, xx, xx, mrm|evex, x, 38}, - }, { /* evex_W_ext 58 */ + }, { /* evex_Wb_ext 58 */ {OP_vcvtusi2ss, 0xf30f7b00, catSIMD, "vcvtusi2ss", Vdq, xx, H12_dq, Ed, xx, mrm|evex|ttt1s, x, tevexwb[58][1]}, {OP_vcvtusi2ss, 0xf30f7b10, catSIMD, "vcvtusi2ss", Vdq, xx, H12_dq, Rd, xx, mrm|evex|er|ttt1s, x, tevexwb[58][2]}, {OP_vcvtusi2ss, 0xf30f7b40, catSIMD, "vcvtusi2ss", Vdq, xx, H12_dq, Ey, xx, mrm|evex|ttt1s, x, tevexwb[58][3]}, {OP_vcvtusi2ss, 0xf30f7b50, catSIMD, "vcvtusi2ss", Vdq, xx, H12_dq, Ry, xx, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 59 */ + }, { /* evex_Wb_ext 59 */ {OP_vcvtusi2sd, 0xf20f7b00, catSIMD, "vcvtusi2sd", Vdq, xx, Hsd, Ed, xx, mrm|evex|ttt1s, x, tevexwb[59][2]}, {INVALID, 0xf20f7b10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vcvtusi2sd, 0xf20f7b40, catSIMD, "vcvtusi2sd", Vdq, xx, Hsd, Ey, xx, mrm|evex|ttt1s, x, tevexwb[59][3]}, {OP_vcvtusi2sd, 0xf20f7b50, catSIMD, "vcvtusi2sd", Vdq, xx, Hsd, Ry, xx, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 60 */ + }, { /* evex_Wb_ext 60 */ {OP_vcvtudq2ps, 0xf20f7a00, catSIMD, "vcvtudq2ps", Ve, xx, KEw, We, xx, mrm|evex|ttfv, x, modx[39][0]}, {MOD_EXT, 0xf20f7a10, catUncategorized, "(mod ext 39)", xx, xx, xx, xx, xx, mrm|evex, x, 39}, {OP_vcvtuqq2ps, 0xf20f7a40, catSIMD, "vcvtuqq2ps", Ve, xx, KEb, We, xx, mrm|evex|ttfv, x, modx[40][0]}, {MOD_EXT, 0xf20f7a50, catUncategorized, "(mod ext 40)", xx, xx, xx, xx, xx, mrm|evex, x, 40}, - }, { /* evex_W_ext 61 */ + }, { /* evex_Wb_ext 61 */ {OP_vcvtudq2pd, 0xf30f7a00, catSIMD, "vcvtudq2pd", Ve, xx, KEb, Wh_e, xx, mrm|evex|tthv, x, tevexwb[61][1]}, {OP_vcvtudq2pd, 0xf30f7a10, catSIMD, "vcvtudq2pd", Ve, xx, KEb, Md, xx, mrm|evex|tthv, x, END_LIST}, {OP_vcvtuqq2pd, 0xf30f7a40, catSIMD, "vcvtuqq2pd", Ve, xx, KEb, We, xx, mrm|evex|ttfv, x, modx[41][0]}, {MOD_EXT, 0xf30f7a50, catUncategorized, "(mod ext 41)", xx, xx, xx, xx, xx, mrm|evex, x, 41}, - }, { /* evex_W_ext 62 */ + }, { /* evex_Wb_ext 62 */ {OP_vfmadd132ps,0x66389808, catFP | catMath | catSIMD, "vfmadd132ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[14]}, {MOD_EXT, 0x66389818, catUncategorized, "(mod ext 42)", xx, xx, xx, xx, xx, mrm|evex, x, 42}, {OP_vfmadd132pd,0x66389848, catFP | catMath | catSIMD, "vfmadd132pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[17]}, {MOD_EXT, 0x66389858, catUncategorized, "(mod ext 43)", xx, xx, xx, xx, xx, mrm|evex, x, 43}, - }, { /* evex_W_ext 63 */ + }, { /* evex_Wb_ext 63 */ {OP_vfmadd213ps,0x6638a808, catFP | catMath | catSIMD, "vfmadd213ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[20]}, {MOD_EXT, 0x6638a818, catUncategorized, "(mod ext 44)", xx, xx, xx, xx, xx, mrm|evex, x, 44}, {OP_vfmadd213pd,0x6638a848, catFP | catMath | catSIMD, "vfmadd213pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[23]}, {MOD_EXT, 0x6638a858, catUncategorized, "(mod ext 45)", xx, xx, xx, xx, xx, mrm|evex, x, 45}, - }, { /* evex_W_ext 64 */ + }, { /* evex_Wb_ext 64 */ {OP_vfmadd231ps,0x6638b808, catFP | catMath | catSIMD, "vfmadd231ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[26]}, {MOD_EXT, 0x6638b818, catUncategorized, "(mod ext 46)", xx, xx, xx, xx, xx, mrm|evex, x, 46}, {OP_vfmadd231pd,0x6638b848, catFP | catMath | catSIMD, "vfmadd231pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[29]}, {MOD_EXT, 0x6638b858, catUncategorized, "(mod ext 47)", xx, xx, xx, xx, xx, mrm|evex, x, 47}, - }, { /* evex_W_ext 65 */ + }, { /* evex_Wb_ext 65 */ {OP_vfmadd132ss,0x66389908, catFP | catMath, "vfmadd132ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[32]}, {OP_vfmadd132ss,0x66389918, catFP | catMath, "vfmadd132ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[33]}, {OP_vfmadd132sd,0x66389948, catFP | catMath, "vfmadd132sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[34]}, {OP_vfmadd132sd,0x66389958, catFP | catMath, "vfmadd132sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[35]}, - }, { /* evex_W_ext 66 */ + }, { /* evex_Wb_ext 66 */ {OP_vfmadd213ss,0x6638a908, catFP | catMath, "vfmadd213ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[36]}, {OP_vfmadd213ss,0x6638a918, catFP | catMath, "vfmadd213ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[37]}, {OP_vfmadd213sd,0x6638a948, catFP | catMath, "vfmadd213sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[38]}, {OP_vfmadd213sd,0x6638a958, catFP | catMath, "vfmadd213sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[39]}, - }, { /* evex_W_ext 67 */ + }, { /* evex_Wb_ext 67 */ {OP_vfmadd231ss,0x6638b908, catFP | catMath, "vfmadd231ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[40]}, {OP_vfmadd231ss,0x6638b918, catFP | catMath, "vfmadd231ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[41]}, {OP_vfmadd231sd,0x6638b948, catFP | catMath, "vfmadd231sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[42]}, {OP_vfmadd231sd,0x6638b958, catFP | catMath, "vfmadd231sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[43]}, - }, { /* evex_W_ext 68 */ + }, { /* evex_Wb_ext 68 */ {OP_vfmaddsub132ps,0x66389608, catFP | catMath | catSIMD, "vfmaddsub132ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[44]}, {MOD_EXT, 0x66389618, catUncategorized, "(mod ext 48)", xx, xx, xx, xx, xx, mrm|evex, x, 48}, {OP_vfmaddsub132pd,0x66389648, catFP | catMath | catSIMD, "vfmaddsub132pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[47]}, {MOD_EXT, 0x66389658, catUncategorized, "(mod ext 49)", xx, xx, xx, xx, xx, mrm|evex, x, 49}, - }, { /* evex_W_ext 69 */ + }, { /* evex_Wb_ext 69 */ {OP_vfmaddsub213ps,0x6638a608, catFP | catMath | catSIMD, "vfmaddsub213ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[50]}, {MOD_EXT, 0x6638a618, catUncategorized, "(mod ext 50)", xx, xx, xx, xx, xx, mrm|evex, x, 50}, {OP_vfmaddsub213pd,0x6638a648, catFP | catMath | catSIMD, "vfmaddsub213pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[53]}, {MOD_EXT, 0x6638a658, catUncategorized, "(mod ext 51)", xx, xx, xx, xx, xx, mrm|evex, x, 51}, - }, { /* evex_W_ext 70 */ + }, { /* evex_Wb_ext 70 */ {OP_vfmaddsub231ps,0x6638b608, catFP | catMath | catSIMD, "vfmaddsub231ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[56]}, {MOD_EXT, 0x6638b618, catUncategorized, "(mod ext 52)", xx, xx, xx, xx, xx, mrm|evex, x, 52}, {OP_vfmaddsub231pd,0x6638b648, catFP | catMath | catSIMD, "vfmaddsub231pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[59]}, {MOD_EXT, 0x6638b658, catUncategorized, "(mod ext 53)", xx, xx, xx, xx, xx, mrm|evex, x, 53}, - }, { /* evex_W_ext 71 */ + }, { /* evex_Wb_ext 71 */ {OP_vfmsubadd132ps,0x66389708, catFP | catMath | catSIMD, "vfmsubadd132ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[62]}, {MOD_EXT, 0x66389718, catUncategorized, "(mod ext 54)", xx, xx, xx, xx, xx, mrm|evex, x, 54}, {OP_vfmsubadd132pd,0x66389748, catFP | catMath | catSIMD, "vfmsubadd132pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[65]}, {MOD_EXT, 0x66389758, catUncategorized, "(mod ext 55)", xx, xx, xx, xx, xx, mrm|evex, x, 55}, - }, { /* evex_W_ext 72 */ + }, { /* evex_Wb_ext 72 */ {OP_vfmsubadd213ps,0x6638a708, catFP | catMath | catSIMD, "vfmsubadd213ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[68]}, {MOD_EXT, 0x6638a718, catUncategorized, "(mod ext 56)", xx, xx, xx, xx, xx, mrm|evex, x, 56}, {OP_vfmsubadd213pd,0x6638a748, catFP | catMath | catSIMD, "vfmsubadd213pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[71]}, {MOD_EXT, 0x6638a758, catUncategorized, "(mod ext 57)", xx, xx, xx, xx, xx, mrm|evex, x, 57}, - }, { /* evex_W_ext 73 */ + }, { /* evex_Wb_ext 73 */ {OP_vfmsubadd231ps,0x6638b708, catFP | catMath | catSIMD, "vfmsubadd231ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[74]}, {MOD_EXT, 0x6638b718, catUncategorized, "(mod ext 58)", xx, xx, xx, xx, xx, mrm|evex, x, 58}, {OP_vfmsubadd231pd,0x6638b748, catFP | catMath | catSIMD, "vfmsubadd231pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[77]}, {MOD_EXT, 0x6638b758, catUncategorized, "(mod ext 59)", xx, xx, xx, xx, xx, mrm|evex, x, 59}, - }, { /* evex_W_ext 74 */ + }, { /* evex_Wb_ext 74 */ {OP_vfmsub132ps,0x66389a08, catFP | catMath | catSIMD, "vfmsub132ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[80]}, {MOD_EXT, 0x66389a18, catUncategorized, "(mod ext 60)", xx, xx, xx, xx, xx, mrm|evex, x, 60}, {OP_vfmsub132pd,0x66389a48, catFP | catMath | catSIMD, "vfmsub132pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[83]}, {MOD_EXT, 0x66389a58, catUncategorized, "(mod ext 61)", xx, xx, xx, xx, xx, mrm|evex, x, 61}, - }, { /* evex_W_ext 75 */ + }, { /* evex_Wb_ext 75 */ {OP_vfmsub213ps,0x6638aa08, catFP | catMath | catSIMD, "vfmsub213ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[86]}, {MOD_EXT, 0x6638aa18, catUncategorized, "(mod ext 62)", xx, xx, xx, xx, xx, mrm|evex, x, 62}, {OP_vfmsub213pd,0x6638aa48, catFP | catMath | catSIMD, "vfmsub213pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[89]}, {MOD_EXT, 0x6638aa58, catUncategorized, "(mod ext 63)", xx, xx, xx, xx, xx, mrm|evex, x, 63}, - }, { /* evex_W_ext 76 */ + }, { /* evex_Wb_ext 76 */ {OP_vfmsub231ps,0x6638ba08, catFP | catMath | catSIMD, "vfmsub231ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[92]}, {MOD_EXT, 0x6638ba18, catUncategorized, "(mod ext 64)", xx, xx, xx, xx, xx, mrm|evex, x, 64}, {OP_vfmsub231pd,0x6638ba48, catFP | catMath | catSIMD, "vfmsub231pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[95]}, {MOD_EXT, 0x6638ba58, catUncategorized, "(mod ext 65)", xx, xx, xx, xx, xx, mrm|evex, x, 65}, - }, { /* evex_W_ext 77 */ + }, { /* evex_Wb_ext 77 */ {OP_vfmsub132ss,0x66389b08, catFP | catMath, "vfmsub132ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[98]}, {OP_vfmsub132ss,0x66389b18, catFP | catMath, "vfmsub132ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[99]}, {OP_vfmsub132sd,0x66389b48, catFP | catMath, "vfmsub132sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[100]}, {OP_vfmsub132sd,0x66389b58, catFP | catMath, "vfmsub132sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[101]}, - }, { /* evex_W_ext 78 */ + }, { /* evex_Wb_ext 78 */ {OP_vfmsub213ss,0x6638ab08, catFP | catMath, "vfmsub213ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[102]}, {OP_vfmsub213ss,0x6638ab18, catFP | catMath, "vfmsub213ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[103]}, {OP_vfmsub213sd,0x6638ab48, catFP | catMath, "vfmsub213sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[104]}, {OP_vfmsub213sd,0x6638ab58, catFP | catMath, "vfmsub213sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[105]}, - }, { /* evex_W_ext 79 */ + }, { /* evex_Wb_ext 79 */ {OP_vfmsub231ss,0x6638bb08, catFP | catMath, "vfmsub231ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[106]}, {OP_vfmsub231ss,0x6638bb18, catFP | catMath, "vfmsub231ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[107]}, {OP_vfmsub231sd,0x6638bb48, catFP | catMath, "vfmsub231sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[108]}, {OP_vfmsub231sd,0x6638bb58, catFP | catMath, "vfmsub231sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[109]}, - }, { /* evex_W_ext 80 */ + }, { /* evex_Wb_ext 80 */ {OP_vfnmadd132ps,0x66389c08, catFP | catMath | catSIMD, "vfnmadd132ps",Ves,xx,KEb,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[110]}, {MOD_EXT, 0x66389c18, catUncategorized, "(mod ext 66)", xx, xx, xx, xx, xx, mrm|evex, x, 66}, {OP_vfnmadd132pd,0x66389c48, catFP | catMath | catSIMD, "vfnmadd132pd",Ved,xx,KEw,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[113]}, {MOD_EXT, 0x66389c58, catUncategorized, "(mod ext 67)", xx, xx, xx, xx, xx, mrm|evex, x, 67}, - }, { /* evex_W_ext 81 */ + }, { /* evex_Wb_ext 81 */ {OP_vfnmadd213ps,0x6638ac08, catFP | catMath | catSIMD, "vfnmadd213ps",Ves,xx,KEb,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[116]}, {MOD_EXT, 0x6638ac18, catUncategorized, "(mod ext 68)", xx, xx, xx, xx, xx, mrm|evex, x, 68}, {OP_vfnmadd213pd,0x6638ac48, catFP | catMath | catSIMD, "vfnmadd213pd",Ved,xx,KEw,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[119]}, {MOD_EXT, 0x6638ac58, catUncategorized, "(mod ext 69)", xx, xx, xx, xx, xx, mrm|evex, x, 69}, - }, { /* evex_W_ext 82 */ + }, { /* evex_Wb_ext 82 */ {OP_vfnmadd231ps,0x6638bc08, catFP | catMath | catSIMD, "vfnmadd231ps",Ves,xx,KEb,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[122]}, {MOD_EXT, 0x6638bc18, catUncategorized, "(mod ext 70)", xx, xx, xx, xx, xx, mrm|evex, x, 70}, {OP_vfnmadd231pd,0x6638bc48, catFP | catMath | catSIMD, "vfnmadd231pd",Ved,xx,KEw,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[125]}, {MOD_EXT, 0x6638bc58, catUncategorized, "(mod ext 71)", xx, xx, xx, xx, xx, mrm|evex, x, 71}, - }, { /* evex_W_ext 83 */ + }, { /* evex_Wb_ext 83 */ {OP_vfnmadd132ss,0x66389d08, catFP | catMath, "vfnmadd132ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[128]}, {OP_vfnmadd132ss,0x66389d18, catFP | catMath, "vfnmadd132ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[129]}, {OP_vfnmadd132sd,0x66389d48, catFP | catMath, "vfnmadd132sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[130]}, {OP_vfnmadd132sd,0x66389d58, catFP | catMath, "vfnmadd132sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[131]}, - }, { /* evex_W_ext 84 */ + }, { /* evex_Wb_ext 84 */ {OP_vfnmadd213ss,0x6638ad08, catFP | catMath, "vfnmadd213ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[132]}, {OP_vfnmadd213ss,0x6638ad18, catFP | catMath, "vfnmadd213ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[133]}, {OP_vfnmadd213sd,0x6638ad48, catFP | catMath, "vfnmadd213sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[134]}, {OP_vfnmadd213sd,0x6638ad58, catFP | catMath, "vfnmadd213sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[135]}, - }, { /* evex_W_ext 85 */ + }, { /* evex_Wb_ext 85 */ {OP_vfnmadd231ss,0x6638bd08, catFP | catMath, "vfnmadd231ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[136]}, {OP_vfnmadd231ss,0x6638bd18, catFP | catMath, "vfnmadd231ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[137]}, {OP_vfnmadd231sd,0x6638bd48, catFP | catMath, "vfnmadd231sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[138]}, {OP_vfnmadd231sd,0x6638bd58, catFP | catMath, "vfnmadd231sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[139]}, - }, { /* evex_W_ext 86 */ + }, { /* evex_Wb_ext 86 */ {OP_vfnmsub132ps,0x66389e08, catFP | catMath | catSIMD, "vfnmsub132ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[140]}, {MOD_EXT, 0x66389e18, catUncategorized, "(mod ext 72)", xx, xx, xx, xx, xx, mrm|evex, x, 72}, {OP_vfnmsub132pd,0x66389e48, catFP | catMath | catSIMD, "vfnmsub132pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[143]}, {MOD_EXT, 0x66389e58, catUncategorized, "(mod ext 73)", xx, xx, xx, xx, xx, mrm|evex, x, 73}, - }, { /* evex_W_ext 87 */ + }, { /* evex_Wb_ext 87 */ {OP_vfnmsub213ps,0x6638ae08, catFP | catMath | catSIMD, "vfnmsub213ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[146]}, {MOD_EXT, 0x6638ae18, catUncategorized, "(mod ext 74)", xx, xx, xx, xx, xx, mrm|evex, x, 74}, {OP_vfnmsub213pd,0x6638ae48, catFP | catMath | catSIMD, "vfnmsub213pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[149]}, {MOD_EXT, 0x6638ae58, catUncategorized, "(mod ext 75)", xx, xx, xx, xx, xx, mrm|evex, x, 75}, - }, { /* evex_W_ext 88 */ + }, { /* evex_Wb_ext 88 */ {OP_vfnmsub231ps,0x6638be08, catFP | catMath | catSIMD, "vfnmsub231ps",Ves,xx,KEw,Hes,Wes,xop|mrm|evex|reqp|ttfv,x,exop[152]}, {MOD_EXT, 0x6638be18, catUncategorized, "(mod ext 76)", xx, xx, xx, xx, xx, mrm|evex, x, 76}, {OP_vfnmsub231pd,0x6638be48, catFP | catMath | catSIMD, "vfnmsub231pd",Ved,xx,KEb,Hed,Wed,xop|mrm|evex|reqp|ttfv,x,exop[155]}, {MOD_EXT, 0x6638be58, catUncategorized, "(mod ext 77)", xx, xx, xx, xx, xx, mrm|evex, x, 77}, - }, { /* evex_W_ext 89 */ + }, { /* evex_Wb_ext 89 */ {OP_vfnmsub132ss,0x66389f08, catFP | catMath, "vfnmsub132ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[158]}, {OP_vfnmsub132ss,0x66389f18, catFP | catMath, "vfnmsub132ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[159]}, {OP_vfnmsub132sd,0x66389f48, catFP | catMath, "vfnmsub132sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[160]}, {OP_vfnmsub132sd,0x66389f58, catFP | catMath, "vfnmsub132sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[161]}, - }, { /* evex_W_ext 90 */ + }, { /* evex_Wb_ext 90 */ {OP_vfnmsub213ss,0x6638af08, catFP | catMath, "vfnmsub213ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[162]}, {OP_vfnmsub213ss,0x6638af18, catFP | catMath, "vfnmsub213ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[163]}, {OP_vfnmsub213sd,0x6638af48, catFP | catMath, "vfnmsub213sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[164]}, {OP_vfnmsub213sd,0x6638af58, catFP | catMath, "vfnmsub213sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[165]}, - }, { /* evex_W_ext 91 */ + }, { /* evex_Wb_ext 91 */ {OP_vfnmsub231ss,0x6638bf08, catFP | catMath, "vfnmsub231ss",Vss,xx,KE1b,Hss,Wss,xop|mrm|evex|reqp|ttt1s,x,exop[166]}, {OP_vfnmsub231ss,0x6638bf18, catFP | catMath, "vfnmsub231ss",Vss,xx,KE1b,Hss,Uss,xop|mrm|evex|er|reqp|ttt1s,x,exop[167]}, {OP_vfnmsub231sd,0x6638bf48, catFP | catMath, "vfnmsub231sd",Vsd,xx,KE1b,Hsd,Wsd,xop|mrm|evex|reqp|ttt1s,x,exop[168]}, {OP_vfnmsub231sd,0x6638bf58, catFP | catMath, "vfnmsub231sd",Vsd,xx,KE1b,Hsd,Usd,xop|mrm|evex|er|reqp|ttt1s,x,exop[169]}, - }, { /* evex_W_ext 92 */ + }, { /* evex_Wb_ext 92 */ {OP_vpermb,0x66388d08, catSIMD, "vpermb",Ve,xx,KEb,He,We,mrm|evex|reqp|ttfvm,x,END_LIST}, {INVALID, 0x66388d18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpermw,0x66388d48, catSIMD, "vpermw",Ve,xx,KEw,He,We,mrm|evex|reqp|ttfvm,x,END_LIST}, {INVALID, 0x66388d58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 93 */ + }, { /* evex_Wb_ext 93 */ {OP_vpermd,0x66383608, catSIMD, "vpermd",Vf,xx,KEb,Hf,Wf,mrm|evex|reqp|ttfv,x,tevexwb[93][1]}, {OP_vpermd,0x66383618, catSIMD, "vpermd",Vf,xx,KEb,Hf,Md,mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpermq,0x66383648, catSIMD, "vpermq",Vf,xx,KEb,Hf,Wf,mrm|evex|reqp|ttfv,x,tevexwb[93][3]}, {OP_vpermq,0x66383658, catSIMD, "vpermq",Vf,xx,KEb,Hf,Mq,mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 94 */ + }, { /* evex_Wb_ext 94 */ {OP_vpermps,0x66381608, catSIMD, "vpermps",Vf,xx,KEw,Hf,Wf,mrm|evex|reqp|ttfv,x,tevexwb[94][1]}, {OP_vpermps,0x66381618, catSIMD, "vpermps",Vf,xx,KEw,Hf,Md,mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpermpd,0x66381648, catSIMD, "vpermpd",Vf,xx,KEw,Hf,Wf,mrm|evex|reqp|ttfv,x,tevexwb[94][3]}, {OP_vpermpd,0x66381658, catSIMD, "vpermpd",Vf,xx,KEw,Hf,Mq,mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 95 */ + }, { /* evex_Wb_ext 95 */ {OP_vpermi2ps,0x66387708, catSIMD, "vpermi2ps",Ve,xx,KEw,He,We,mrm|evex|reqp|ttfv,x,tevexwb[95][1]}, {OP_vpermi2ps,0x66387718, catSIMD, "vpermi2ps",Ve,xx,KEw,He,Md,mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpermi2pd,0x66387748, catSIMD, "vpermi2pd",Ve,xx,KEw,He,We,mrm|evex|reqp|ttfv,x,tevexwb[95][3]}, {OP_vpermi2pd,0x66387758, catSIMD, "vpermi2pd",Ve,xx,KEw,He,Mq,mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 96 */ + }, { /* evex_Wb_ext 96 */ {OP_vpermi2d,0x66387608, catSIMD, "vpermi2d",Ve,xx,KEw,He,We,mrm|evex|reqp|ttfv,x,tevexwb[96][1]}, {OP_vpermi2d,0x66387618, catSIMD, "vpermi2d",Ve,xx,KEw,He,Md,mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpermi2q,0x66387648, catSIMD, "vpermi2q",Ve,xx,KEb,He,We,mrm|evex|reqp|ttfv,x,tevexwb[96][3]}, {OP_vpermi2q,0x66387658, catSIMD, "vpermi2q",Ve,xx,KEb,He,Mq,mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 97 */ + }, { /* evex_Wb_ext 97 */ {OP_vpermi2b,0x66387508, catSIMD, "vpermi2b",Ve,xx,KEq,He,We,mrm|evex|reqp|ttfvm,x,END_LIST}, {INVALID, 0x66387518, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpermi2w,0x66387548, catSIMD, "vpermi2w",Ve,xx,KEd,He,We,mrm|evex|reqp|ttfvm,x,END_LIST}, {INVALID, 0x66387558, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 98 */ + }, { /* evex_Wb_ext 98 */ {OP_vpermt2b,0x66387d08, catUncategorized, "vpermt2b",Ve,xx,KEw,He,We,mrm|evex|reqp|ttfvm,x,END_LIST}, {INVALID, 0x66387d18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpermt2w,0x66387d48, catUncategorized, "vpermt2w",Ve,xx,KEb,He,We,mrm|evex|reqp|ttfvm,x,END_LIST}, {INVALID, 0x66387d58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 99 */ + }, { /* evex_Wb_ext 99 */ {OP_vpermt2d,0x66387e08, catUncategorized, "vpermt2d",Ve,xx,KEq,He,We,mrm|evex|reqp|ttfv,x,tevexwb[99][1]}, {OP_vpermt2d,0x66387e18, catUncategorized, "vpermt2d",Ve,xx,KEq,He,Md,mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpermt2q,0x66387e48, catUncategorized, "vpermt2q",Ve,xx,KEd,He,We,mrm|evex|reqp|ttfv,x,tevexwb[99][3]}, {OP_vpermt2q,0x66387e58, catUncategorized, "vpermt2q",Ve,xx,KEd,He,Mq,mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 100 */ + }, { /* evex_Wb_ext 100 */ {OP_vpermt2ps,0x66387f08, catUncategorized, "vpermt2ps",Ve,xx,KEw,He,We,mrm|evex|reqp|ttfv,x,tevexwb[100][1]}, {OP_vpermt2ps,0x66387f18, catUncategorized, "vpermt2ps",Ve,xx,KEw,He,Md,mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpermt2pd,0x66387f48, catUncategorized, "vpermt2pd",Ve,xx,KEb,He,We,mrm|evex|reqp|ttfv,x,tevexwb[100][3]}, {OP_vpermt2pd,0x66387f58, catUncategorized, "vpermt2pd",Ve,xx,KEb,He,Mq,mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 101 */ + }, { /* evex_Wb_ext 101 */ {OP_vextractf32x4, 0x663a1908, catSIMD, "vextractf32x4", Wdq, xx, KE4b, Ib, Vdq_f, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x663a1918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vextractf64x2, 0x663a1948, catSIMD, "vextractf64x2", Wdq, xx, KE2b, Ib, Vdq_f, mrm|evex|reqp|ttt2, x, END_LIST}, {INVALID, 0x663a1958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 102 */ + }, { /* evex_Wb_ext 102 */ {OP_vextractf32x8, 0x663a1b08, catSIMD, "vextractf32x8", Wqq, xx, KEb, Ib, Vqq_oq, mrm|evex|reqp|ttt8, x, END_LIST}, {INVALID, 0x663a1b18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vextractf64x4, 0x663a1b48, catSIMD, "vextractf64x4", Wqq, xx, KE4b, Ib, Vqq_oq, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x663a1b58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 103 */ + }, { /* evex_Wb_ext 103 */ {OP_vextracti32x4, 0x663a3908, catSIMD, "vextracti32x4", Wdq, xx, KE4b, Ib, Vdq_f, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x663a3918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vextracti64x2, 0x663a3948, catSIMD, "vextracti64x2", Wdq, xx, KE2b, Ib, Vdq_f, mrm|evex|reqp|ttt2, x, END_LIST}, {INVALID, 0x663a3958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 104 */ + }, { /* evex_Wb_ext 104 */ {OP_vextracti32x8, 0x663a3b08, catSIMD, "vextracti32x8", Wqq, xx, KEb, Ib, Vqq_oq, mrm|evex|reqp|ttt8, x, END_LIST}, {INVALID, 0x663a3b18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vextracti64x4, 0x663a3b48, catSIMD, "vextracti64x4", Wqq, xx, KE4b, Ib, Vqq_oq, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x663a3b58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 105 */ + }, { /* evex_Wb_ext 105 */ {OP_vinsertf32x4, 0x663a1808, catSIMD, "vinsertf32x4", Vf, xx, KEw, Ib, Hdq_f, xop|mrm|evex|reqp|ttt4, x, exop[170]}, {INVALID, 0x663a1818, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vinsertf64x2, 0x663a1848, catSIMD, "vinsertf64x2", Vf, xx, KEb, Ib, Hdq_f, xop|mrm|evex|reqp|ttt2, x, exop[171]}, {INVALID, 0x663a1858, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 106 */ + }, { /* evex_Wb_ext 106 */ {OP_vinsertf32x8, 0x663a1a08, catSIMD, "vinsertf32x8", Voq, xx, KEw, Ib, Hdq_f, xop|mrm|evex|reqp|ttt8, x, exop[172]}, {INVALID, 0x663a1a18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vinsertf64x4, 0x663a1a48, catSIMD, "vinsertf64x4", Voq, xx, KEb, Ib, Hdq_f, xop|mrm|evex|reqp|ttt4, x, exop[173]}, {INVALID, 0x663a1858, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 107 */ + }, { /* evex_Wb_ext 107 */ {OP_vinserti32x4, 0x663a3808, catSIMD, "vinserti32x4", Vf, xx, KEw, Ib, Hdq_f, xop|mrm|evex|reqp|ttt4, x, exop[174]}, {INVALID, 0x663a3818, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vinserti64x2, 0x663a3848, catSIMD, "vinserti64x2", Vf, xx, KEb, Ib, Hdq_f, xop|mrm|evex|reqp|ttt2, x, exop[175]}, {INVALID, 0x663a3858, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 108 */ + }, { /* evex_Wb_ext 108 */ {OP_vinserti32x8, 0x663a3a08, catSIMD, "vinserti32x8", Voq, xx, KEw, Ib, Hdq_f, xop|mrm|evex|reqp|ttt8, x, exop[176]}, {INVALID, 0x663a3a18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vinserti64x4, 0x663a3a48, catSIMD, "vinserti64x4", Voq, xx, KEb, Ib, Hdq_f, xop|mrm|evex|reqp|ttt4, x, exop[177]}, {INVALID, 0x663a3a58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 109 */ + }, { /* evex_Wb_ext 109 */ {OP_vpcmpub, 0x663a3e08, catSIMD, "vpcmpub", KPq, xx, KEq, Ib, He, xop|evex|mrm|reqp|ttfvm, x, exop[178]}, {INVALID, 0x663a3e18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpcmpuw, 0x663a3e48, catSIMD, "vpcmpuw", KPd, xx, KEd, Ib, He, xop|evex|mrm|reqp|ttfvm, x, exop[180]}, {INVALID, 0x663a3e58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 110 */ + }, { /* evex_Wb_ext 110 */ {OP_vpcmpb, 0x663a3f08, catSIMD, "vpcmpb", KPq, xx, KEq, Ib, He, xop|evex|mrm|reqp|ttfvm, x, exop[179]}, {INVALID, 0x663a3f18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpcmpw, 0x663a3f48, catSIMD, "vpcmpw", KPd, xx, KEd, Ib, He, xop|evex|mrm|reqp|ttfvm, x, exop[181]}, {INVALID, 0x663a3f58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 111 */ + }, { /* evex_Wb_ext 111 */ {OP_vpcmpud, 0x663a1e08, catSIMD, "vpcmpud", KPw, xx, KEw, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[182]}, {OP_vpcmpud, 0x663a1e18, catSIMD, "vpcmpud", KPw, xx, KEw, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[183]}, {OP_vpcmpuq, 0x663a1e48, catSIMD, "vpcmpuq", KPb, xx, KEb, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[186]}, {OP_vpcmpuq, 0x663a1e58, catSIMD, "vpcmpuq", KPb, xx, KEb, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[187]}, - }, { /* evex_W_ext 112 */ + }, { /* evex_Wb_ext 112 */ {OP_vpcmpd, 0x663a1f08, catSIMD, "vpcmpd", KPw, xx, KEw, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[184]}, {OP_vpcmpd, 0x663a1f18, catSIMD, "vpcmpd", KPw, xx, KEw, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[185]}, {OP_vpcmpq, 0x663a1f48, catSIMD, "vpcmpq", KPb, xx, KEb, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[188]}, {OP_vpcmpq, 0x663a1f58, catSIMD, "vpcmpq", KPb, xx, KEb, Ib, He, xop|evex|mrm|reqp|ttfv, x, exop[189]}, - }, { /* evex_W_ext 113 */ + }, { /* evex_Wb_ext 113 */ {OP_vpminsd, 0x66383908, catSIMD, "vpminsd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[113][1]}, {OP_vpminsd, 0x66383918, catSIMD, "vpminsd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vpminsq, 0x66383948, catSIMD, "vpminsq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[113][3]}, {OP_vpminsq, 0x66383958, catSIMD, "vpminsq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 114 */ + }, { /* evex_Wb_ext 114 */ {OP_vpmaxsd, 0x66383d08, catSIMD, "vpmaxsd", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[114][1]}, {OP_vpmaxsd, 0x66383d18, catSIMD, "vpmaxsd", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpmaxsq, 0x66383d48, catSIMD, "vpmaxsq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[114][3]}, {OP_vpmaxsq, 0x66383d58, catSIMD, "vpmaxsq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 115 */ + }, { /* evex_Wb_ext 115 */ {OP_vpminud, 0x66383b08, catSIMD, "vpminud", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[115][1]}, {OP_vpminud, 0x66383b18, catSIMD, "vpminud", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpminuq, 0x66383b48, catSIMD, "vpminuq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[115][3]}, {OP_vpminuq, 0x66383b58, catSIMD, "vpminuq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 116 */ + }, { /* evex_Wb_ext 116 */ {OP_vpmaxud, 0x66383f08, catSIMD, "vpmaxud", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[116][1]}, {OP_vpmaxud, 0x66383f18, catSIMD, "vpmaxud", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpmaxuq, 0x66383f48, catSIMD, "vpmaxuq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[116][3]}, {OP_vpmaxuq, 0x66383f58, catSIMD, "vpmaxuq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 117 */ + }, { /* evex_Wb_ext 117 */ {OP_vprolvd, 0x66381508, catSIMD, "vprolvd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[117][1]}, {OP_vprolvd, 0x66381518, catSIMD, "vprolvd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vprolvq, 0x66381548, catSIMD, "vprolvq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[117][3]}, {OP_vprolvq, 0x66381558, catSIMD, "vprolvq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 118 */ + }, { /* evex_Wb_ext 118 */ {OP_vprold, 0x660f7221, catSIMD, "vprold", He, xx, KEw, Ib, We, mrm|evex|ttfv, x, tevexwb[118][1]}, {OP_vprold, 0x660f7231, catSIMD, "vprold", He, xx, KEw, Ib, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vprolq, 0x660f7261, catSIMD, "vprolq", He, xx, KEb, Ib, We, mrm|evex|ttfv, x, tevexwb[118][3]}, {OP_vprolq, 0x660f7271, catSIMD, "vprolq", He, xx, KEb, Ib, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 119 */ + }, { /* evex_Wb_ext 119 */ {OP_vprorvd, 0x66381408, catSIMD, "vprorvd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[119][1]}, {OP_vprorvd, 0x66381418, catSIMD, "vprorvd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vprorvq, 0x66381448, catSIMD, "vprorvq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[119][3]}, {OP_vprorvq, 0x66381458, catSIMD, "vprorvq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 120 */ + }, { /* evex_Wb_ext 120 */ {OP_vprord, 0x660f7220, catSIMD, "vprord", He, xx, KEw, Ib, We, mrm|evex|ttfv, x, tevexwb[120][1]}, {OP_vprord, 0x660f7230, catSIMD, "vprord", He, xx, KEw, Ib, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vprorq, 0x660f7260, catSIMD, "vprorq", He, xx, KEb, Ib, We, mrm|evex|ttfv, x, tevexwb[120][3]}, {OP_vprorq, 0x660f7270, catSIMD, "vprorq", He, xx, KEb, Ib, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 121 */ + }, { /* evex_Wb_ext 121 */ {OP_vpsrad, 0x660fe200, catSIMD, "vpsrad", Ve, xx, KEw, He, Wdq, mrm|evex|ttm128, x, tevexwb[122][0]}, {INVALID, 0x660fe210, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpsraq, 0x660fe240, catSIMD, "vpsraq", Ve, xx, KEb, He, Wdq, mrm|evex|ttm128, x, tevexwb[122][2]}, {INVALID, 0x660fe250, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 122 */ + }, { /* evex_Wb_ext 122 */ {OP_vpsrad, 0x660f7224, catSIMD, "vpsrad", He, xx, KEw, Ib, We, mrm|evex|ttfv, x, tevexwb[122][1]}, {OP_vpsrad, 0x660f7234, catSIMD, "vpsrad", He, xx, KEw, Ib, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vpsraq, 0x660f7264, catSIMD, "vpsraq", He, xx, KEb, Ib, We, mrm|evex|ttfv, x, tevexwb[122][3]}, {OP_vpsraq, 0x660f7274, catSIMD, "vpsraq", He, xx, KEb, Ib, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 123 */ + }, { /* evex_Wb_ext 123 */ {OP_vpsrld, 0x660fd200, catSIMD, "vpsrld", Ve, xx, KEw, He, Wdq, mrm|evex|ttm128, x, tevexwb[124][0]}, {INVALID, 0x660fd210, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660fd240, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660fd250, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 124 */ + }, { /* evex_Wb_ext 124 */ {OP_vpsrld, 0x660f7222, catSIMD, "vpsrld", He, xx, KEw, Ib, We, mrm|evex|ttfv, x, tevexwb[124][1]}, {OP_vpsrld, 0x660f7232, catSIMD, "vpsrld", He, xx, KEw, Ib, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0x660f7262, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f7272, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 125 */ + }, { /* evex_Wb_ext 125 */ {INVALID, 0x660fd300, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660fd310, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpsrlq, 0x660fd340, catSIMD, "vpsrlq", Ve, xx, KEb, He, Wdq, mrm|evex|ttm128, x, tevexwb[126][2]}, {INVALID, 0x660fd350, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 126 */ + }, { /* evex_Wb_ext 126 */ {INVALID, 0x660f7322, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x660f7332, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpsrlq, 0x660f7362, catSIMD, "vpsrlq", He, xx, KEb, Ib, We, mrm|evex|ttfv, x, tevexwb[126][3]}, {OP_vpsrlq, 0x660f7372, catSIMD, "vpsrlq", He, xx, KEb, Ib, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 127 */ + }, { /* evex_Wb_ext 127 */ {INVALID, 0x66381108, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x66381118, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpsravw, 0x66381148, catSIMD, "vpsravw", Ve, xx, KEb, He, We, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0x66381158, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 128 */ + }, { /* evex_Wb_ext 128 */ {OP_vpsravd, 0x66384608, catSIMD, "vpsravd", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[128][1]}, {OP_vpsravd, 0x66384618, catSIMD, "vpsravd", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpsravq, 0x66384648, catSIMD, "vpsravq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[128][3]}, {OP_vpsravq, 0x66384658, catSIMD, "vpsravq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 129 */ + }, { /* evex_Wb_ext 129 */ {OP_vpsrlvd,0x66384508, catSIMD, "vpsrlvd", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[129][1]}, {OP_vpsrlvd,0x66384518, catSIMD, "vpsrlvd", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpsrlvq,0x66384548, catSIMD, "vpsrlvq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[129][3]}, {OP_vpsrlvq,0x66384558, catSIMD, "vpsrlvq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 130 */ + }, { /* evex_Wb_ext 130 */ {INVALID, 0x66381208, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x66381218, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpsllvw, 0x66381248, catSIMD, "vpsllvw", Ve, xx, KEd, He, We, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0x66381258, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 131 */ + }, { /* evex_Wb_ext 131 */ {OP_vpsllvd, 0x66384708, catSIMD, "vpsllvd", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv,x,tevexwb[131][1]}, {OP_vpsllvd, 0x66384718, catSIMD, "vpsllvd", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vpsllvq, 0x66384748, catSIMD, "vpsllvq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv,x,tevexwb[131][3]}, {OP_vpsllvq, 0x66384758, catSIMD, "vpsllvq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 132 */ + }, { /* evex_Wb_ext 132 */ {OP_vrcp14ps, 0x66384c08, catSIMD, "vrcp14ps", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttfv,x,tevexwb[132][1]}, {OP_vrcp14ps, 0x66384c18, catSIMD, "vrcp14ps", Ve, xx, KEw, Md, xx, mrm|evex|reqp|ttfv,x,END_LIST}, {OP_vrcp14pd, 0x66384c48, catSIMD, "vrcp14pd", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttfv,x,tevexwb[132][3]}, {OP_vrcp14pd, 0x66384c58, catSIMD, "vrcp14pd", Ve, xx, KEb, Mq, xx, mrm|evex|reqp|ttfv,x,END_LIST}, - }, { /* evex_W_ext 133 */ + }, { /* evex_Wb_ext 133 */ {OP_vrcp14ss, 0x66384d08, catUncategorized, "vrcp14ss", Vdq, xx, KE1b, H12_dq, Wss, mrm|evex|reqp|ttt1s,x,END_LIST}, {INVALID, 0x66384d18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vrcp14sd, 0x66384d48, catUncategorized, "vrcp14sd", Vdq, xx, KE1b, Hsd, Wsd, mrm|evex|reqp|ttt1s,x,END_LIST}, {INVALID, 0x66384d58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 134 */ + }, { /* evex_Wb_ext 134 */ {OP_vrcp28ps, 0x6638ca08, catSIMD, "vrcp28ps", Voq, xx, KEw, Woq, xx, mrm|evex|reqp|ttfv,x,modx[78][0]}, {MOD_EXT, 0x6638ca18, catUncategorized, "(mod ext 78)", xx, xx, xx, xx, xx, mrm|evex, x, 78}, {OP_vrcp28pd, 0x6638ca48, catSIMD, "vrcp28pd", Voq, xx, KEb, Woq, xx, mrm|evex|reqp|ttfv,x,modx[79][0]}, {MOD_EXT, 0x6638ca58, catUncategorized, "(mod ext 79)", xx, xx, xx, xx, xx, mrm|evex, x, 79}, - }, { /* evex_W_ext 135 */ + }, { /* evex_Wb_ext 135 */ {OP_vrcp28ss, 0x6638cb08, catUncategorized, "vrcp28ss", Vdq, xx, KE1b, H12_dq, Wss, mrm|evex|reqp|ttt1s,x,tevexwb[135][1]}, {OP_vrcp28ss, 0x6638cb18, catUncategorized, "vrcp28ss", Vdq, xx, KE1b, H12_dq, Uss, mrm|evex|sae|reqp|ttt1s,x,END_LIST}, {OP_vrcp28sd, 0x6638cb48, catUncategorized, "vrcp28sd", Vdq, xx, KE1b, Hsd, Wsd, mrm|evex|reqp|ttt1s,x,tevexwb[135][3]}, {OP_vrcp28sd, 0x6638cb58, catUncategorized, "vrcp28sd", Vdq, xx, KE1b, Hsd, Usd, mrm|evex|sae|reqp|ttt1s,x,END_LIST}, - }, { /* evex_W_ext 136 */ + }, { /* evex_Wb_ext 136 */ {OP_vmovd, 0x660f6e00, catSIMD, "vmovd", Vdq, xx, Ed, xx, xx, mrm|evex|ttt1s, x, tevexwb[137][0]}, {INVALID, 0x660f6e10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovq, 0x660f6e40, catSIMD, "vmovq", Vdq, xx, Ey, xx, xx, mrm|evex|ttt1s, x, tevexwb[137][2]}, {INVALID, 0x660f6e50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 137 */ + }, { /* evex_Wb_ext 137 */ {OP_vmovd, 0x660f7e00, catSIMD, "vmovd", Ed, xx, Vd_dq, xx, xx, mrm|evex|ttt1s, x, END_LIST}, {INVALID, 0x660f7e10, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vmovq, 0x660f7e40, catSIMD, "vmovq", Ey, xx, Vq_dq, xx, xx, mrm|evex|ttt1s, x, END_LIST}, {INVALID, 0x660f7e50, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 138 */ + }, { /* evex_Wb_ext 138 */ {OP_vpmovm2b, 0xf3382808, catSIMD, "vpmovm2b", Ve, xx, KQq, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3382818, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpmovm2w, 0xf3382848, catSIMD, "vpmovm2w", Ve, xx, KQd, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3382858, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 139 */ + }, { /* evex_Wb_ext 139 */ {OP_vpmovm2d, 0xf3383808, catSIMD, "vpmovm2d", Ve, xx, KQw, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3383818, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpmovm2q, 0xf3383848, catSIMD, "vpmovm2q", Ve, xx, KQb, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3383858, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 140 */ + }, { /* evex_Wb_ext 140 */ {OP_vpmovb2m, 0xf3382908, catSIMD, "vpmovb2m", KPq, xx, Ue, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3382918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpmovw2m, 0xf3382948, catUncategorized, "vpmovw2m", KPd, xx, Ue, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3382958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 141 */ + }, { /* evex_Wb_ext 141 */ {OP_vpmovd2m, 0xf3383908, catSIMD, "vpmovd2m", KPw, xx, Ue, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3383918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpmovq2m, 0xf3383948, catSIMD, "vpmovq2m", KPb, xx, Ue, xx, xx, mrm|evex|ttnone, x, END_LIST}, {INVALID, 0xf3383958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 142 */ + }, { /* evex_Wb_ext 142 */ {OP_vshuff32x4, 0x663a2308, catSIMD, "vshuff32x4", Vfs, xx, KEw, Ib, Hfs, xop|mrm|evex|reqp|ttfv, x, exop[204]}, {OP_vshuff32x4, 0x663a2318, catSIMD, "vshuff32x4", Vfs, xx, KEw, Ib, Hfs, xop|mrm|evex|reqp|ttfv, x, exop[205]}, {OP_vshuff64x2, 0x663a2348, catSIMD, "vshuff64x2", Vfd, xx, KEb, Ib, Hfd, xop|mrm|evex|reqp|ttfv, x, exop[206]}, {OP_vshuff64x2, 0x663a2358, catSIMD, "vshuff64x2", Vfd, xx, KEb, Ib, Hfd, xop|mrm|evex|reqp|ttfv, x, exop[207]}, - }, { /* evex_W_ext 143 */ + }, { /* evex_Wb_ext 143 */ {OP_vshufi32x4, 0x663a4308, catSIMD, "vshufi32x4", Vfs, xx, KEw, Ib, Hfs, xop|mrm|evex|reqp|ttfv, x, exop[208]}, {OP_vshufi32x4, 0x663a4318, catSIMD, "vshufi32x4", Vfs, xx, KEw, Ib, Hfs, xop|mrm|evex|reqp|ttfv, x, exop[209]}, {OP_vshufi64x2, 0x663a4348, catUncategorized, "vshufi64x2", Vfd, xx, KEb, Ib, Hfd, xop|mrm|evex|reqp|ttfv, x, exop[210]}, {OP_vshufi64x2, 0x663a4358, catUncategorized, "vshufi64x2", Vfd, xx, KEb, Ib, Hfd, xop|mrm|evex|reqp|ttfv, x, exop[211]}, - }, { /* evex_W_ext 144 */ + }, { /* evex_Wb_ext 144 */ {OP_vpinsrd, 0x663a2208, catSIMD, "vpinsrd", Vdq, xx, H12_8_dq, Ey, Ib, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x663a2218, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpinsrq, 0x663a2248, catSIMD, "vpinsrq", Vdq, xx, H12_8_dq, Ey, Ib, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x663a2258, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 145 */ + }, { /* evex_Wb_ext 145 */ {OP_vpextrd, 0x663a1608, catSIMD, "vpextrd", Ey, xx, Vd_q_dq, Ib, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x663a1618, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpextrq, 0x663a1648, catSIMD, "vpextrq", Ey, xx, Vd_q_dq, Ib, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x663a1658, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 146 */ + }, { /* evex_Wb_ext 146 */ {OP_vpabsd, 0x66381e08, catSIMD, "vpabsd", Ve, xx, KEw, We, xx, mrm|evex|ttfv, x, tevexwb[146][1]}, {OP_vpabsd, 0x66381e18, catSIMD, "vpabsd", Ve, xx, KEw, Md, xx, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0x66381e48, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x66381e58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 147 */ + }, { /* evex_Wb_ext 147 */ {INVALID, 0x66381f08, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {INVALID, 0x66381f18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpabsq, 0x66381f48, catSIMD, "vpabsq", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[147][3]}, {OP_vpabsq, 0x66381f58, catSIMD, "vpabsq", Ve, xx, KEb, Mq, xx, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 148 */ + }, { /* evex_Wb_ext 148 */ {OP_vbroadcastf32x2, 0x66381908, catLoad | catSIMD, "vbroadcastf32x2", Vf, xx, KEb, Wq_dq, xx, mrm|evex|reqp|ttt2, x, END_LIST}, {INVALID, 0x66381918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vbroadcastsd, 0x66381948, catFP | catMove | catSIMD, "vbroadcastsd", Vf, xx, KEb, Wq_dq, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66381958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 149 */ + }, { /* evex_Wb_ext 149 */ {OP_vbroadcastf32x4, 0x66381a08, catLoad | catSIMD, "vbroadcastf32x4", Vf, xx, KEw, Mdq, xx, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x66381a18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vbroadcastf64x2, 0x66381a48, catLoad | catSIMD, "vbroadcastf64x2", Vf, xx, KEb, Mdq, xx, mrm|evex|reqp|ttt2, x, END_LIST}, {INVALID, 0x66381a58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 150 */ + }, { /* evex_Wb_ext 150 */ {OP_vbroadcastf32x8, 0x66381b08, catLoad | catSIMD, "vbroadcastf32x8", Voq, xx, KEd, Mqq, xx, mrm|evex|reqp|ttt8, x, END_LIST}, {INVALID, 0x66381b18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vbroadcastf64x4, 0x66381b48, catLoad | catSIMD, "vbroadcastf64x4", Voq, xx, KEb, Mqq, xx, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x66381b58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 151 */ + }, { /* evex_Wb_ext 151 */ {OP_vpbroadcastd, 0x66387c08, catSIMD, "vpbroadcastd", Ve, xx, KEw, Ed, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66387c18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpbroadcastq, 0x66387c48, catSIMD, "vpbroadcastq", Ve, xx, KEb, Eq, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66387c58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 152 */ + }, { /* evex_Wb_ext 152 */ {OP_vbroadcasti32x2, 0x66385908, catLoad | catSIMD, "vbroadcasti32x2", Ve, xx, KEb, Wq_dq, xx, mrm|evex|reqp|ttt2, x, END_LIST}, {INVALID, 0x66385918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpbroadcastq, 0x66385948, catSIMD, "vpbroadcastq", Ve, xx, KEb, Wq_dq, xx, mrm|evex|reqp|ttt1s, x, tevexwb[151][2]}, {INVALID, 0x66385958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 153 */ + }, { /* evex_Wb_ext 153 */ {OP_vbroadcasti32x4, 0x66385a08, catLoad | catSIMD, "vbroadcasti32x4", Vf, xx, KEw, Mdq, xx, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x66385a18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vbroadcasti64x2, 0x66385a48, catLoad | catSIMD, "vbroadcasti64x2", Vf, xx, KEw, Mdq, xx, mrm|evex|reqp|ttt2, x, END_LIST}, {INVALID, 0x66385a58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 154 */ + }, { /* evex_Wb_ext 154 */ {OP_vbroadcasti32x8, 0x66385b08, catLoad | catSIMD, "vbroadcasti32x8", Vf, xx, KEw, Mqq, xx, mrm|evex|reqp|ttt8, x, END_LIST}, {INVALID, 0x66385b18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vbroadcasti64x4, 0x66385b48, catLoad | catSIMD, "vbroadcasti64x4", Vf, xx, KEb, Mqq, xx, mrm|evex|reqp|ttt4, x, END_LIST}, {INVALID, 0x66385b58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 155 */ + }, { /* evex_Wb_ext 155 */ {OP_valignd, 0x663a0308, catSIMD, "valignd", Ve, xx, KEw, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[212]}, {OP_valignd, 0x663a0318, catSIMD, "valignd", Ve, xx, KEw, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[213]}, {OP_valignq, 0x663a0348, catSIMD, "valignq", Ve, xx, KEb, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[214]}, {OP_valignq, 0x663a0358, catSIMD, "valignq", Ve, xx, KEb, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[215]}, - }, { /* evex_W_ext 156 */ + }, { /* evex_Wb_ext 156 */ {OP_vblendmps, 0x66386508, catSIMD, "vblendmps", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[156][1]}, {OP_vblendmps, 0x66386518, catSIMD, "vblendmps", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vblendmpd, 0x66386548, catSIMD, "vblendmpd", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[156][3]}, {OP_vblendmpd, 0x66386558, catSIMD, "vblendmpd", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 157 */ + }, { /* evex_Wb_ext 157 */ {OP_vcompressps, 0x66388a08, catSIMD, "vcompressps", We, xx, KEw, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388a18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vcompresspd, 0x66388a48, catSIMD, "vcompresspd", We, xx, KEb, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388a58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 158 */ + }, { /* evex_Wb_ext 158 */ {OP_vexpandps, 0x66388808, catSIMD, "vexpandps", We, xx, KEw, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388818, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vexpandpd, 0x66388848, catSIMD, "vexpandpd", We, xx, KEb, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388858, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 159 */ + }, { /* evex_Wb_ext 159 */ {OP_vfixupimmps, 0x663a5408, catSIMD, "vfixupimmps", Ve, xx, KEw, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[216]}, {MOD_EXT, 0x663a5418, catUncategorized, "(mod ext 80)", xx, xx, xx, xx, xx, mrm|evex, x, 80}, {OP_vfixupimmpd, 0x663a5448, catSIMD, "vfixupimmpd", Ve, xx, KEb, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[219]}, {MOD_EXT, 0x663a5458, catUncategorized, "(mod ext 81)", xx, xx, xx, xx, xx, mrm|evex, x, 81}, - }, { /* evex_W_ext 160 */ + }, { /* evex_Wb_ext 160 */ {OP_vfixupimmss, 0x663a5508, catUncategorized, "vfixupimmss", Vdq, xx, KE1b, Ib, Hdq, xop|mrm|evex|reqp|ttt1s, x, exop[222]}, {OP_vfixupimmss, 0x663a5518, catUncategorized, "vfixupimmss", Vdq, xx, KE1b, Ib, Hdq, xop|mrm|evex|sae|reqp|ttt1s, x, exop[223]}, {OP_vfixupimmsd, 0x663a5548, catUncategorized, "vfixupimmsd", Vdq, xx, KE1b, Ib, Hdq, xop|mrm|evex|reqp|ttt1s, x, exop[224]}, {OP_vfixupimmsd, 0x663a5558, catUncategorized, "vfixupimmsd", Vdq, xx, KE1b, Ib, Hdq, xop|mrm|evex|sae|reqp|ttt1s, x, exop[225]}, - }, { /* evex_W_ext 161 */ + }, { /* evex_Wb_ext 161 */ {OP_vgetexpps, 0x66384208, catSIMD, "vgetexpps", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttfv, x, modx[82][0]}, {MOD_EXT, 0x66384218, catUncategorized, "(mod ext 82)", xx, xx, xx, xx, xx, mrm|evex, x, 82}, {OP_vgetexppd, 0x66384248, catSIMD, "vgetexppd", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttfv, x, modx[83][0]}, {MOD_EXT, 0x66384258, catUncategorized, "(mod ext 83)", xx, xx, xx, xx, xx, mrm|evex, x, 83}, - }, { /* evex_W_ext 162 */ + }, { /* evex_Wb_ext 162 */ {OP_vgetexpss, 0x66384308, catUncategorized, "vgetexpss", Vdq, xx, KE1b, H12_dq, Wd_dq, mrm|evex|reqp|ttt1s, x, tevexwb[162][1]}, {OP_vgetexpss, 0x66384318, catUncategorized, "vgetexpss", Vdq, xx, KE1b, H12_dq, Ud_dq, mrm|evex|sae|reqp|ttt1s, x, END_LIST}, {OP_vgetexpsd, 0x66384348, catUncategorized, "vgetexpsd", Vdq, xx, KE1b, Hsd, Wq_dq, mrm|evex|reqp|ttt1s, x, tevexwb[162][3]}, {OP_vgetexpsd, 0x66384358, catUncategorized, "vgetexpsd", Vdq, xx, KE1b, Hsd, Uq_dq, mrm|evex|sae|reqp|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 163 */ + }, { /* evex_Wb_ext 163 */ {OP_vgetmantps, 0x663a2608, catSIMD, "vgetmantps", Ve, xx, KEw, Ib, We, mrm|evex|reqp|ttfv, x, modx[84][0]}, {MOD_EXT, 0x663a2618, catUncategorized, "(mod ext 84)", xx, xx, xx, xx, xx, mrm|evex, x, 84}, {OP_vgetmantpd, 0x663a2648, catSIMD, "vgetmantpd", Ve, xx, KEb, Ib, We, mrm|evex|reqp|ttfv, x, modx[85][0]}, {MOD_EXT, 0x663a2658, catUncategorized, "(mod ext 85)", xx, xx, xx, xx, xx, mrm|evex, x, 85}, - }, { /* evex_W_ext 164 */ + }, { /* evex_Wb_ext 164 */ {OP_vgetmantss, 0x663a2708, catUncategorized, "vgetmantss", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|reqp|ttt1s, x, exop[226]}, {OP_vgetmantss, 0x663a2718, catUncategorized, "vgetmantss", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|sae|reqp|ttt1s, x, exop[227]}, {OP_vgetmantsd, 0x663a2748, catUncategorized, "vgetmantsd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|reqp|ttt1s, x, exop[228]}, {OP_vgetmantsd, 0x663a2758, catUncategorized, "vgetmantsd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|sae|reqp|ttt1s, x, exop[229]}, - }, { /* evex_W_ext 165 */ + }, { /* evex_Wb_ext 165 */ {OP_vpblendmb, 0x66386608, catSIMD, "vpblendmb", Ve, xx, KEq, He, We, mrm|evex|reqp|ttfvm, x, END_LIST}, {INVALID, 0x66386618, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpblendmw, 0x66386648, catSIMD, "vpblendmw", Ve, xx, KEd, He, We, mrm|evex|reqp|ttfvm, x, END_LIST}, {INVALID, 0x66386658, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 166 */ + }, { /* evex_Wb_ext 166 */ {OP_vpblendmd, 0x66386408, catSIMD, "vpblendmd", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[166][1]}, {OP_vpblendmd, 0x66386418, catSIMD, "vpblendmd", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpblendmq, 0x66386448, catSIMD, "vpblendmq", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[166][3]}, {OP_vpblendmq, 0x66386458, catSIMD, "vpblendmq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 167 */ + }, { /* evex_Wb_ext 167 */ {OP_vpcompressd, 0x66388b08, catSIMD, "vpcompressd", We, xx, KEw, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388b18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpcompressq, 0x66388b48, catSIMD, "vpcompressq", We, xx, KEb, Ve, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388b58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 168 */ + }, { /* evex_Wb_ext 168 */ {OP_vpexpandd, 0x66388908, catSIMD, "vpexpandd", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388918, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpexpandq, 0x66388948, catSIMD, "vpexpandq", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66388958, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 169 */ + }, { /* evex_Wb_ext 169 */ {OP_vptestmb, 0x66382608, catSIMD, "vptestmb", KPq, xx, KEq, He, We, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0x66382618, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vptestmw, 0x66382648, catSIMD, "vptestmw", KPd, xx, KEd, He, We, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0x66382658, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 170 */ + }, { /* evex_Wb_ext 170 */ {OP_vptestmd, 0x66382708, catSIMD, "vptestmd", KPw, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[170][1]}, {OP_vptestmd, 0x66382718, catSIMD, "vptestmd", KPw, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vptestmq, 0x66382748, catSIMD, "vptestmq", KPb, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[170][3]}, {OP_vptestmq, 0x66382758, catSIMD, "vptestmq", KPb, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 171 */ + }, { /* evex_Wb_ext 171 */ {OP_vptestnmb, 0xf3382608, catSIMD, "vptestnmb", KPq, xx, KEq, He, We, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0xf3382618, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vptestnmw, 0xf3382648, catSIMD, "vptestnmw", KPd, xx, KEd, He, We, mrm|evex|ttfvm, x, END_LIST}, {INVALID, 0xf3382658, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 172 */ + }, { /* evex_Wb_ext 172 */ {OP_vptestnmd, 0xf3382708, catSIMD, "vptestnmd", KPw, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[172][1]}, {OP_vptestnmd, 0xf3382718, catSIMD, "vptestnmd", KPw, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vptestnmq, 0xf3382748, catSIMD, "vptestnmq", KPb, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[172][3]}, {OP_vptestnmq, 0xf3382758, catSIMD, "vptestnmq", KPb, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 173 */ + }, { /* evex_Wb_ext 173 */ {OP_vrangeps, 0x663a5008, catSIMD, "vrangeps", Ve, xx, KEw, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[230]}, {MOD_EXT, 0x663a5018, catUncategorized, "(mod ext 86)", xx, xx, xx, xx, xx, mrm|evex, x, 86}, {OP_vrangepd, 0x663a5048, catSIMD, "vrangepd", Ve, xx, KEb, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[233]}, {MOD_EXT, 0x663a5058, catUncategorized, "(mod ext 87)", xx, xx, xx, xx, xx, mrm|evex, x, 87}, - }, { /* evex_W_ext 174 */ + }, { /* evex_Wb_ext 174 */ {OP_vrangess, 0x663a5108, catUncategorized, "vrangess", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|reqp|ttt1s, x, exop[236]}, {OP_vrangess, 0x663a5118, catUncategorized, "vrangess", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|sae|reqp|ttt1s, x, exop[237]}, {OP_vrangesd, 0x663a5148, catUncategorized, "vrangesd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|reqp|ttt1s, x, exop[238]}, {OP_vrangesd, 0x663a5158, catUncategorized, "vrangesd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|sae|reqp|ttt1s, x, exop[239]}, - }, { /* evex_W_ext 175 */ + }, { /* evex_Wb_ext 175 */ {OP_vreduceps, 0x663a5608, catSIMD, "vreduceps", Ve, xx, KEw, Ib, We, mrm|evex|reqp|ttfv, x, modx[88][0]}, {MOD_EXT, 0x663a5618, catUncategorized, "(mod ext 88)", xx, xx, xx, xx, xx, mrm|evex, x, 88}, {OP_vreducepd, 0x663a5648, catSIMD, "vreducepd", Ve, xx, KEb, Ib, We, mrm|evex|reqp|ttfv, x, modx[89][0]}, {MOD_EXT, 0x663a5658, catUncategorized, "(mod ext 89)", xx, xx, xx, xx, xx, mrm|evex, x, 89}, - }, { /* evex_W_ext 176 */ + }, { /* evex_Wb_ext 176 */ {OP_vreducess, 0x663a5708, catUncategorized, "vreducess", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|reqp|ttt1s, x, exop[240]}, {OP_vreducess, 0x663a5718, catUncategorized, "vreducess", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|sae|reqp|ttt1s, x, exop[241]}, {OP_vreducesd, 0x663a5748, catUncategorized, "vreducesd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|reqp|ttt1s, x, exop[242]}, {OP_vreducesd, 0x663a5758, catUncategorized, "vreducesd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|sae|reqp|ttt1s, x, exop[243]}, - }, { /* evex_W_ext 177 */ + }, { /* evex_Wb_ext 177 */ {OP_vrsqrt14ps, 0x66384e08, catSIMD, "vrsqrt14ps", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[177][1]}, {OP_vrsqrt14ps, 0x66384e18, catSIMD, "vrsqrt14ps", Ve, xx, KEw, Md, xx, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vrsqrt14pd, 0x66384e48, catSIMD, "vrsqrt14pd", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[177][3]}, {OP_vrsqrt14pd, 0x66384e58, catSIMD, "vrsqrt14pd", Ve, xx, KEb, Mq, xx, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 178 */ + }, { /* evex_Wb_ext 178 */ {OP_vrsqrt14ss, 0x66384f08, catUncategorized, "vrsqrt14ss", Vdq, xx, KE1b, H12_dq, Wd_dq, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66384f18, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vrsqrt14sd, 0x66384f48, catUncategorized, "vrsqrt14sd", Vdq, xx, KE1b, Hsd, Wq_dq, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x66384f58, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 179 */ + }, { /* evex_Wb_ext 179 */ {OP_vrsqrt28ps, 0x6638cc08, catSIMD, "vrsqrt28ps", Voq, xx, KEw, Woq, xx, mrm|evex|reqp|ttfv, x, modx[90][0]}, {MOD_EXT, 0x6638cc18, catUncategorized, "(mod ext 90)", xx, xx, xx, xx, xx, mrm|evex, x, 90}, {OP_vrsqrt28pd, 0x6638cc48, catSIMD, "vrsqrt28pd", Voq, xx, KEb, Woq, xx, mrm|evex|reqp|ttfv, x, modx[91][0]}, {MOD_EXT, 0x6638cc58, catUncategorized, "(mod ext 91)", xx, xx, xx, xx, xx, mrm|evex, x, 91}, - }, { /* evex_W_ext 180 */ + }, { /* evex_Wb_ext 180 */ {OP_vrsqrt28ss, 0x6638cd08, catUncategorized, "vrsqrt28ss", Vdq, xx, KE1b, H12_dq, Wd_dq, mrm|evex|reqp|ttt1s, x, tevexwb[180][1]}, {OP_vrsqrt28ss, 0x6638cd18, catUncategorized, "vrsqrt28ss", Vdq, xx, KE1b, H12_dq, Ud_dq, mrm|evex|sae|reqp|ttt1s, x, END_LIST}, {OP_vrsqrt28sd, 0x6638cd48, catUncategorized, "vrsqrt28sd", Vdq, xx, KE1b, Hsd, Wq_dq, mrm|evex|reqp|ttt1s, x, tevexwb[180][3]}, {OP_vrsqrt28sd, 0x6638cd58, catUncategorized, "vrsqrt28sd", Vdq, xx, KE1b, Hsd, Uq_dq, mrm|evex|sae|reqp|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 181 */ + }, { /* evex_Wb_ext 181 */ {OP_vscalefps, 0x66382c08, catSIMD, "vscalefps", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, modx[92][0]}, {MOD_EXT, 0x66382c18, catUncategorized, "(mod ext 92)", xx, xx, xx, xx, xx, mrm|evex, x, 92}, {OP_vscalefpd, 0x66382c48, catSIMD, "vscalefpd", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, modx[93][0]}, {MOD_EXT, 0x66382c58, catUncategorized, "(mod ext 93)", xx, xx, xx, xx, xx, mrm|evex, x, 93}, - }, { /* evex_W_ext 182 */ + }, { /* evex_Wb_ext 182 */ {OP_vscalefss, 0x66382d08, catUncategorized, "vscalefss", Vdq, xx, KE1b, H12_dq, Wd_dq, mrm|evex|reqp|ttt1s, x, tevexwb[182][1]}, {OP_vscalefss, 0x66382d18, catUncategorized, "vscalefss", Vdq, xx, KE1b, H12_dq, Ud_dq, mrm|evex|er|reqp|ttt1s, x, END_LIST}, {OP_vscalefsd, 0x66382d48, catUncategorized, "vscalefsd", Vdq, xx, KE1b, Hsd, Wq_dq, mrm|evex|reqp|ttt1s, x, tevexwb[182][1]}, {OP_vscalefsd, 0x66382d58, catUncategorized, "vscalefsd", Vdq, xx, KE1b, Hsd, Uq_dq, mrm|evex|er|reqp|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 183 */ + }, { /* evex_Wb_ext 183 */ {OP_vfpclassps, 0x663a6608, catUncategorized, "vfpclassps", KPw, xx, KEw, Ib, We, mrm|evex|reqp|ttfv, x, tevexwb[183][1]}, {OP_vfpclassps, 0x663a6618, catUncategorized, "vfpclassps", KPw, xx, KEw, Ib, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vfpclasspd, 0x663a6648, catSIMD, "vfpclasspd", KPb, xx, KEb, Ib, We, mrm|evex|reqp|ttfv, x, tevexwb[183][3]}, {OP_vfpclasspd, 0x663a6658, catSIMD, "vfpclasspd", KPb, xx, KEb, Ib, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 184 */ + }, { /* evex_Wb_ext 184 */ {OP_vfpclassss, 0x663a6708, catUncategorized, "vfpclassss", KP1b, xx, KE1b, Ib, Wd_dq, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x663a6718, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vfpclasssd, 0x663a6748, catSIMD, "vfpclasssd", KP1b, xx, KE1b, Ib, Wq_dq, mrm|evex|reqp|ttt1s, x, END_LIST}, {INVALID, 0x663a6758, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 185 */ + }, { /* evex_Wb_ext 185 */ {OP_vexp2ps, 0x6638c808, catSIMD, "vexp2ps", Voq, xx, KEw, Woq, xx, mrm|evex|reqp|ttfv, x, modx[94][0]}, {MOD_EXT, 0x6638c818, catUncategorized, "(mod ext 94)", xx, xx, xx, xx, xx, mrm|evex, x, 94}, {OP_vexp2pd, 0x6638c848, catSIMD, "vexp2pd", Voq, xx, KEb, Woq, xx, mrm|evex|reqp|ttfv, x, modx[95][0]}, {MOD_EXT, 0x6638c858, catUncategorized, "(mod ext 95)", xx, xx, xx, xx, xx, mrm|evex, x, 95}, - }, { /* evex_W_ext 186 */ + }, { /* evex_Wb_ext 186 */ {OP_vpconflictd, 0x6638c408, catSIMD, "vpconflictd", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[186][1]}, {OP_vpconflictd, 0x6638c418, catSIMD, "vpconflictd", Ve, xx, KEw, Md, xx, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vpconflictq, 0x6638c448, catSIMD, "vpconflictq", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[186][3]}, {OP_vpconflictq, 0x6638c458, catSIMD, "vpconflictq", Ve, xx, KEb, Mq, xx, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 187 */ + }, { /* evex_Wb_ext 187 */ {OP_vplzcntd, 0x66384408, catSIMD, "vplzcntd", Ve, xx, KEw, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[187][1]}, {OP_vplzcntd, 0x66384418, catSIMD, "vplzcntd", Ve, xx, KEw, Md, xx, mrm|evex|reqp|ttfv, x, END_LIST}, {OP_vplzcntq, 0x66384448, catSIMD, "vplzcntq", Ve, xx, KEb, We, xx, mrm|evex|reqp|ttfv, x, tevexwb[187][3]}, {OP_vplzcntq, 0x66384458, catSIMD, "vplzcntq", Ve, xx, KEb, Mq, xx, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 188 */ + }, { /* evex_Wb_ext 188 */ {OP_vpternlogd, 0x663a2508, catSIMD, "vpternlogd", Ve, xx, KEw, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[250]}, {OP_vpternlogd, 0x663a2518, catSIMD, "vpternlogd", Ve, xx, KEw, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[251]}, {OP_vpternlogq, 0x663a2548, catSIMD, "vpternlogq", Ve, xx, KEb, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[252]}, {OP_vpternlogq, 0x663a2558, catSIMD, "vpternlogq", Ve, xx, KEb, Ib, He, xop|mrm|evex|reqp|ttfv, x, exop[253]}, - }, { /* evex_W_ext 189 */ + }, { /* evex_Wb_ext 189 */ /* XXX: OP_v*gather* raise #UD if any pair of the index, mask, or destination * registers are identical. We don't bother trying to detect that. */ @@ -9141,22 +9141,22 @@ const instr_info_t evex_Wb_extensions[][4] = { {INVALID, 0x66389018, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpgatherdq, 0x66389048, catSIMD, "vpgatherdq", Ve, KEb, KEb, MVq, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389058, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 190 */ + }, { /* evex_Wb_ext 190 */ {OP_vpgatherqd, 0x66389108, catSIMD, "vpgatherqd", Ve, KEb, KEb, MVd, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389118, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpgatherqq, 0x66389148, catSIMD, "vpgatherqq", Ve, KEb, KEb, MVq, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389158, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 191 */ + }, { /* evex_Wb_ext 191 */ {OP_vgatherdps, 0x66389208, catSIMD, "vgatherdps", Ve, KEw, KEw, MVd, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389218, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vgatherdpd, 0x66389248, catSIMD, "vgatherdpd", Ve, KEb, KEb, MVq, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389258, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 192 */ + }, { /* evex_Wb_ext 192 */ {OP_vgatherqps, 0x66389308, catSIMD, "vgatherqps", Ve, KEb, KEb, MVd, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389318, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vgatherqpd, 0x66389348, catSIMD, "vgatherqpd", Ve, KEb, KEb, MVq, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x66389358, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 193 */ + }, { /* evex_Wb_ext 193 */ /* XXX: OP_v*scatter* raise #UD if any pair of the index, mask, or destination * registers are identical. We don't bother trying to detect that. */ @@ -9164,22 +9164,22 @@ const instr_info_t evex_Wb_extensions[][4] = { {INVALID, 0x6638a018, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpscatterdq, 0x6638a048, catSIMD, "vpscatterdq", MVq, KEb, KEb, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a058, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 194 */ + }, { /* evex_Wb_ext 194 */ {OP_vpscatterqd, 0x6638a108, catSIMD, "vpscatterqd", MVd, KEb, KEb, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a118, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vpscatterqq, 0x6638a148, catSIMD, "vpscatterqq", MVq, KEb, KEb, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a158, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 195 */ + }, { /* evex_Wb_ext 195 */ {OP_vscatterdps, 0x6638a208, catSIMD, "vscatterdps", MVd, KEw, KEw, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a218, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vscatterdpd, 0x6638a248, catSIMD, "vscatterdpd", MVq, KEb, KEb, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a258, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 196 */ + }, { /* evex_Wb_ext 196 */ {OP_vscatterqps, 0x6638a308, catSIMD, "vscatterqps", MVd, KEb, KEb, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a318, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vscatterqpd, 0x6638a348, catSIMD, "vscatterqpd", MVq, KEb, KEb, Ve, xx, mrm|evex|reqp|ttnone|nok0, x, END_LIST}, {INVALID, 0x6638a358, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 197 */ + }, { /* evex_Wb_ext 197 */ /* XXX i#1312: The encoding of this and the following gather prefetch instructions * is not clear. AVX-512PF seems to be specific to the Knights Landing architecture * (Xeon Phi). Our current encoding works with binutils but fails llvm-mc. @@ -9193,72 +9193,72 @@ const instr_info_t evex_Wb_extensions[][4] = { {INVALID, 0x6638c639, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vgatherpf0dpd, 0x6638c669, catSIMD, "vgatherpf0dpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsiby|ttt1s, x, END_LIST}, {INVALID, 0x6638c679, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 198 */ + }, { /* evex_Wb_ext 198 */ {OP_vgatherpf0qps, 0x6638c729, catSIMD, "vgatherpf0qps", xx, xx, KEb, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c739, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vgatherpf0qpd, 0x6638c769, catSIMD, "vgatherpf0qpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c779, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 199 */ + }, { /* evex_Wb_ext 199 */ {OP_vgatherpf1dps, 0x6638c62a, catSIMD, "vgatherpf1dps", xx, xx, KEw, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c6ea, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vgatherpf1dpd, 0x6638c66a, catSIMD, "vgatherpf1dpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsiby|ttt1s, x, END_LIST}, {INVALID, 0x6638c67a, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 200 */ + }, { /* evex_Wb_ext 200 */ {OP_vgatherpf1qps, 0x6638c72a, catSIMD, "vgatherpf1qps", xx, xx, KEb, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c731, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vgatherpf1qpd, 0x6638c76a, catSIMD, "vgatherpf1qpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c77a, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 201 */ + }, { /* evex_Wb_ext 201 */ {OP_vscatterpf0dps, 0x6638c62d, catSIMD, "vscatterpf0dps", xx, xx, KEw, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c63e, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vscatterpf0dpd, 0x6638c66d, catSIMD, "vscatterpf0dpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsiby|ttt1s, x, END_LIST}, {INVALID, 0x6638c67d, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 202 */ + }, { /* evex_Wb_ext 202 */ {OP_vscatterpf0qps, 0x6638c72d, catSIMD, "vscatterpf0qps", xx, xx, KEb, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c73d, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vscatterpf0qpd, 0x6638c76d, catSIMD, "vscatterpf0qpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c77d, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 203 */ + }, { /* evex_Wb_ext 203 */ {OP_vscatterpf1dps, 0x6638c62e, catSIMD, "vscatterpf1dps", xx, xx, KEw, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c63e, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vscatterpf1dpd, 0x6638c66e, catSIMD, "vscatterpf1dpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsiby|ttt1s, x, END_LIST}, {INVALID, 0x6638c67e, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 204 */ + }, { /* evex_Wb_ext 204 */ {OP_vscatterpf1qps, 0x6638c72e, catSIMD, "vscatterpf1qps", xx, xx, KEb, MVd, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c7e3, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, {OP_vscatterpf1qpd, 0x6638c76e, catSIMD, "vscatterpf1qpd", xx, xx, KEb, MVq, xx, mrm|evex|reqp|vsibz|ttt1s, x, END_LIST}, {INVALID, 0x6638c77e, catUncategorized, "(bad)", xx,xx,xx,xx,xx,no,x,NA}, - }, { /* evex_W_ext 205 */ + }, { /* evex_Wb_ext 205 */ {OP_vandps, 0x0f5400, catFP | catMath | catSIMD, "vandps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, tevexwb[205][1]}, {OP_vandps, 0x0f5410, catFP | catMath | catSIMD, "vandps", Ves, xx, KEw, Hes, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vandpd, 0x660f5440, catFP | catMath | catSIMD, "vandpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, tevexwb[205][3]}, {OP_vandpd, 0x660f5450, catFP | catMath | catSIMD, "vandpd", Ved, xx, KEb, Hed, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 206 */ + }, { /* evex_Wb_ext 206 */ {OP_vandnps, 0x0f5500, catFP | catMath, "vandnps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, tevexwb[206][1]}, {OP_vandnps, 0x0f5510, catFP | catMath, "vandnps", Ves, xx, KEw, Hes, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vandnpd, 0x660f5540, catFP | catMath, "vandnpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, tevexwb[206][3]}, {OP_vandnpd, 0x660f5550, catFP | catMath, "vandnpd", Ved, xx, KEb, Hed, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 207 */ + }, { /* evex_Wb_ext 207 */ {OP_vorps, 0x0f5600, catFP | catMath, "vorps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, tevexwb[207][1]}, {OP_vorps, 0x0f5610, catFP | catMath, "vorps", Ves, xx, KEw, Hes, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vorpd, 0x660f5640, catFP | catMath, "vorpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, tevexwb[207][3]}, {OP_vorpd, 0x660f5650, catFP | catMath, "vorpd", Ved, xx, KEb, Hed, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 208 */ + }, { /* evex_Wb_ext 208 */ {OP_vxorps, 0x0f5700, catFP | catMath, "vxorps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, tevexwb[208][1]}, {OP_vxorps, 0x0f5710, catFP | catMath, "vxorps", Ves, xx, KEw, Hes, Md, mrm|evex|ttfv, x, END_LIST}, {OP_vxorpd, 0x660f5740, catFP | catMath, "vxorpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, tevexwb[208][3]}, {OP_vxorpd, 0x660f5750, catFP | catMath, "vxorpd", Ved, xx, KEb, Hed, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 209 */ + }, { /* evex_Wb_ext 209 */ {OP_vaddps, 0x0f5800, catFP | catMath, "vaddps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, modx[96][0]}, {MOD_EXT, 0x0f5810, catUncategorized, "(mod ext 96)", xx, xx, xx, xx, xx, mrm|evex, x, 96}, {OP_vaddpd, 0x660f5840, catFP | catMath, "vaddpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, modx[97][0]}, {MOD_EXT, 0x660f5850, catUncategorized, "(mod ext 97)", xx, xx, xx, xx, xx, mrm|evex, x, 97}, - }, { /* evex_W_ext 210 */ + }, { /* evex_Wb_ext 210 */ {OP_vmulps, 0x0f5900, catFP | catMath, "vmulps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, modx[98][0]}, {MOD_EXT, 0x0f5910, catUncategorized, "(mod ext 98)", xx, xx, xx, xx, xx, mrm|evex, x, 98}, {OP_vmulpd, 0x660f5940, catFP | catMath, "vmulpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, modx[99][0]}, {MOD_EXT, 0x660f5950, catUncategorized, "(mod ext 99)", xx, xx, xx, xx, xx, mrm|evex, x, 99}, - }, { /* evex_W_ext 211 */ + }, { /* evex_Wb_ext 211 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -9269,57 +9269,57 @@ const instr_info_t evex_Wb_extensions[][4] = { */ {OP_vcvtpd2ps, 0x660f5a40, catFP | catConvert | catSIMD, "vcvtpd2ps", Ves, xx, KEw, Wed, xx, mrm|evex|ttfv, x, modx[101][0]}, {MOD_EXT, 0x660f5a50, catUncategorized, "(mod ext 101)", xx, xx, xx, xx, xx, mrm|evex, x, 101}, - }, { /* evex_W_ext 212 */ + }, { /* evex_Wb_ext 212 */ {OP_vsubps, 0x0f5c00, catFP | catMath, "vsubps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, modx[102][0]}, {MOD_EXT, 0x0f5c10, catUncategorized, "(mod ext 102)", xx, xx, xx, xx, xx, mrm|evex, x, 102}, {OP_vsubpd, 0x660f5c40, catFP | catMath | catSIMD, "vsubpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, modx[103][0]}, {MOD_EXT, 0x660f5c50, catUncategorized, "(mod ext 103)", xx, xx, xx, xx, xx, mrm|evex, x, 103}, - }, { /* evex_W_ext 213 */ + }, { /* evex_Wb_ext 213 */ {OP_vminps, 0x0f5d00, catFP | catMath | catSIMD, "vminps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, modx[104][0]}, {MOD_EXT, 0x0f5d10, catUncategorized, "(mod ext 104)", xx, xx, xx, xx, xx, mrm|evex, x, 104}, {OP_vminpd, 0x660f5d40, catFP | catMath | catSIMD, "vminpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, modx[105][0]}, {MOD_EXT, 0x660f5d50, catUncategorized, "(mod ext 105)", xx, xx, xx, xx, xx, mrm|evex, x, 105}, - }, { /* evex_W_ext 214 */ + }, { /* evex_Wb_ext 214 */ {OP_vdivps, 0x0f5e00, catFP | catMath | catSIMD, "vdivps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, modx[106][0]}, {MOD_EXT, 0x0f5e10, catUncategorized, "(mod ext 106)", xx, xx, xx, xx, xx, mrm|evex, x, 106}, {OP_vdivpd, 0x660f5e40, catFP | catMath | catSIMD, "vdivpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, modx[107][0]}, {MOD_EXT, 0x660f5e50, catUncategorized, "(mod ext 107)", xx, xx, xx, xx, xx, mrm|evex, x, 107}, - }, { /* evex_W_ext 215 */ + }, { /* evex_Wb_ext 215 */ {OP_vmaxps, 0x0f5f00, catFP | catMath | catSIMD, "vmaxps", Ves, xx, KEw, Hes, Wes, mrm|evex|ttfv, x, modx[108][0]}, {MOD_EXT, 0x0f5f10, catUncategorized, "(mod ext 108)", xx, xx, xx, xx, xx, mrm|evex, x, 108}, {OP_vmaxpd, 0x660f5f40, catFP | catMath, "vmaxpd", Ved, xx, KEb, Hed, Wed, mrm|evex|ttfv, x, modx[109][0]}, {MOD_EXT, 0x660f5f50, catUncategorized, "(mod ext 109)", xx, xx, xx, xx, xx, mrm|evex, x, 109}, - }, { /* evex_W_ext 216 */ + }, { /* evex_Wb_ext 216 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpunpcklqdq, 0x660f6c40, catSIMD, "vpunpcklqdq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[216][3]}, {OP_vpunpcklqdq, 0x660f6c50, catSIMD, "vpunpcklqdq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 217 */ + }, { /* evex_Wb_ext 217 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpmuludq, 0x660ff440, catUncategorized, "vpmuludq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[217][3]}, {OP_vpmuludq, 0x660ff450, catUncategorized, "vpmuludq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 218 */ + }, { /* evex_Wb_ext 218 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vrndscalepd, 0x663a0948, catSIMD, "vrndscalepd", Ve, xx, KEb, Ib, We, mrm|evex|reqp|ttfv, x, modx[111][0]}, {MOD_EXT, 0x663a0958, catUncategorized, "(mod ext 111)", xx, xx, xx, xx, xx, mrm|evex, x, 111}, - }, { /* evex_W_ext 219 */ + }, { /* evex_Wb_ext 219 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpunpckhqdq, 0x660f6d40, catSIMD, "vpunpckhqdq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[219][3]}, {OP_vpunpckhqdq, 0x660f6d50, catSIMD, "vpunpckhqdq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 220 */ + }, { /* evex_Wb_ext 220 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpmadd52luq, 0x6638b448, catUncategorized, "vpmadd52luq", Ve, xx, KEb, He, Wed, mrm|evex|reqp|ttfv, x, tevexwb[220][3]}, {OP_vpmadd52luq, 0x6638b458, catUncategorized, "vpmadd52luq", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 221 */ + }, { /* evex_Wb_ext 221 */ {OP_vshufps, 0x0fc600, catFP | catMove | catSIMD, "vshufps", Ves, xx, KEw, Ib, Hes, xop|mrm|evex|ttfv, x, exop[200]}, {OP_vshufps, 0x0fc610, catFP | catMove | catSIMD, "vshufps", Ves, xx, KEw, Ib, Hes, xop|mrm|evex|ttfv, x, exop[201]}, {OP_vshufpd, 0x660fc640, catFP | catMove | catSIMD, "vshufpd", Ved, xx, KEb, Ib, Hed, xop|mrm|evex|ttfv, x, exop[202]}, {OP_vshufpd, 0x660fc650, catFP | catMove | catSIMD, "vshufpd", Ved, xx, KEb, Ib, Hed, xop|mrm|evex|ttfv, x, exop[203]}, - }, { /* evex_W_ext 222 */ + }, { /* evex_Wb_ext 222 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, /* XXX i#3639: tools tend to accept different source/destination register mnemonics. @@ -9327,7 +9327,7 @@ const instr_info_t evex_Wb_extensions[][4] = { */ {OP_vcvttpd2dq,0x660fe640, catFP | catConvert | catSIMD, "vcvttpd2dq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[113][0]}, {MOD_EXT, 0x660fe650, catUncategorized, "(mod ext 113)", xx, xx, xx, xx, xx, mrm|evex, x, 113}, - }, { /* evex_W_ext 223 */ + }, { /* evex_Wb_ext 223 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, /* XXX i#3639: tools tend to accept different source/destination register mnemonics. @@ -9335,207 +9335,207 @@ const instr_info_t evex_Wb_extensions[][4] = { */ {OP_vcvtpd2dq, 0xf20fe640, catFP | catConvert | catSIMD, "vcvtpd2dq", Ve, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[112][0]}, {MOD_EXT, 0xf20fe650, catUncategorized, "(mod ext 112)", xx, xx, xx, xx, xx, mrm|evex, x, 112}, - }, { /* evex_W_ext 224 */ + }, { /* evex_Wb_ext 224 */ {OP_vcmpps, 0x0fc200, catFP | catMath, "vcmpps", KPw, xx, KEw, Ib, Hes, xop|mrm|evex|ttfv, x, exop[190]}, {MOD_EXT, 0x0fc210, catUncategorized, "(mod ext 114)", xx, xx, xx, xx, xx, mrm|evex, x, 114}, {OP_vcmppd, 0x660fc240, catFP | catMath, "vcmppd", KPb, xx, KEb, Ib, Hed, xop|mrm|evex|ttfv, x, exop[197]}, {MOD_EXT, 0x660fc250, catUncategorized, "(mod ext 115)", xx, xx, xx, xx, xx, mrm|evex, x, 115}, - }, { /* evex_W_ext 225 */ + }, { /* evex_Wb_ext 225 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpaddq, 0x660fd440, catSIMD, "vpaddq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[225][3]}, {OP_vpaddq, 0x660fd450, catSIMD, "vpaddq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 226 */ + }, { /* evex_Wb_ext 226 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpsubq, 0x660ffb40, catSIMD, "vpsubq", Ve, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[226][3]}, {OP_vpsubq, 0x660ffb50, catSIMD, "vpsubq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 227 */ + }, { /* evex_Wb_ext 227 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpmuldq, 0x66382848, catUncategorized, "vpmuldq", Ve, xx, KEb, He, Wed, mrm|evex|ttfv, x, tevexwb[227][3]}, {OP_vpmuldq, 0x66382858, catUncategorized, "vpmuldq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 228 */ + }, { /* evex_Wb_ext 228 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpsllq, 0x660ff340, catSIMD, "vpsllq", Ve, xx, KEb, He, Wdq, mrm|evex|ttm128, x, tevexwb[229][2]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 229 */ + }, { /* evex_Wb_ext 229 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpsllq, 0x660f7366, catSIMD, "vpsllq", He, xx, KEb, Ib, We, mrm|evex|ttfv, x, tevexwb[229][3]}, {OP_vpsllq, 0x660f7376, catSIMD, "vpsllq", He, xx, KEb, Ib, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 230 */ + }, { /* evex_Wb_ext 230 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpermilpd, 0x663a0548, catFP | catMove | catSIMD, "vpermilpd", Ve, xx, KEb, We, Ib, mrm|evex|reqp|ttfv, x, tevexwb[230][3]}, {OP_vpermilpd, 0x663a0558, catFP | catMove | catSIMD, "vpermilpd", Ve, xx, KEb, Mq, Ib, mrm|evex|reqp|ttfv, x, tevexwb[231][2]}, - }, { /* evex_W_ext 231 */ + }, { /* evex_Wb_ext 231 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpermilpd, 0x66380d48, catFP | catMove | catSIMD, "vpermilpd", Ve, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[231][3]}, {OP_vpermilpd, 0x66380d58, catFP | catMove | catSIMD, "vpermilpd", Ve, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 232 */ + }, { /* evex_Wb_ext 232 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpcmpgtq, 0x66383748, catUncategorized, "vpcmpgtq", KPb, xx, KEb, He, We, mrm|evex|reqp|ttfv, x, tevexwb[232][3]}, {OP_vpcmpgtq, 0x66383758, catUncategorized, "vpcmpgtq", KPb, xx, KEb, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 233 */ + }, { /* evex_Wb_ext 233 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpcmpeqq, 0x66382948, catSIMD, "vpcmpeqq", KPb, xx, KEb, He, Wed, mrm|evex|ttfv, x, tevexwb[233][3]}, {OP_vpcmpeqq, 0x66382958, catSIMD, "vpcmpeqq", KPb, xx, KEb, He, Mq, mrm|evex|ttfv, x, END_LIST}, - }, { /* evex_W_ext 234 */ + }, { /* evex_Wb_ext 234 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpmadd52huq, 0x6638b548, catUncategorized, "vpmadd52huq", Ve, xx, KEd, He, Wed, mrm|evex|reqp|ttfv, x, tevexwb[234][3]}, {OP_vpmadd52huq, 0x6638b558, catUncategorized, "vpmadd52huq", Ve, xx, KEd, He, Mq, mrm|evex|reqp|ttfv, x, END_LIST}, - }, { /* evex_W_ext 235 */ + }, { /* evex_Wb_ext 235 */ {OP_vpunpckldq, 0x660f6200, catSIMD, "vpunpckldq", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[235][1]}, {OP_vpunpckldq, 0x660f6210, catSIMD, "vpunpckldq", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 236 */ + }, { /* evex_Wb_ext 236 */ {OP_vpcmpgtd, 0x660f6600, catUncategorized, "vpcmpgtd", KPb, xx, KEb, He, We, mrm|evex|ttfv, x, tevexwb[236][1]}, {OP_vpcmpgtd, 0x660f6610, catUncategorized, "vpcmpgtd", KPb, xx, KEb, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 237 */ + }, { /* evex_Wb_ext 237 */ {OP_vpunpckhdq, 0x660f6a00, catSIMD, "vpunpckhdq", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[237][1]}, {OP_vpunpckhdq, 0x660f6a10, catSIMD, "vpunpckhdq", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 238 */ + }, { /* evex_Wb_ext 238 */ {OP_vpackssdw, 0x660f6b00, catUncategorized, "vpackssdw", Ve, xx, KEd, He, We, mrm|evex|ttfv, x, tevexwb[238][1]}, {OP_vpackssdw, 0x660f6b10, catUncategorized, "vpackssdw", Ve, xx, KEd, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 239 */ + }, { /* evex_Wb_ext 239 */ {OP_vpshufd, 0x660f7000, catSIMD, "vpshufd", Ve, xx, KEw, Ib, We, mrm|evex|ttfv, x, tevexwb[239][1]}, {OP_vpshufd, 0x660f7010, catSIMD, "vpshufd", Ve, xx, KEw, Ib, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 240 */ + }, { /* evex_Wb_ext 240 */ {OP_vpcmpeqd, 0x660f7600, catSIMD, "vpcmpeqd", KPw, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[240][1]}, {OP_vpcmpeqd, 0x660f7610, catSIMD, "vpcmpeqd", KPw, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 241 */ + }, { /* evex_Wb_ext 241 */ {OP_vpsubd, 0x660ffa00, catSIMD, "vpsubd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[241][1]}, {OP_vpsubd, 0x660ffa10, catSIMD, "vpsubd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 242 */ + }, { /* evex_Wb_ext 242 */ {OP_vpaddd, 0x660ffe00, catSIMD, "vpaddd", Ve, xx, KEw, He, We, mrm|evex|ttfv, x, tevexwb[242][1]}, {OP_vpaddd, 0x660ffe10, catSIMD, "vpaddd", Ve, xx, KEw, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 243 */ + }, { /* evex_Wb_ext 243 */ {OP_vpslld, 0x660ff200, catSIMD, "vpslld", Ve, xx, KEw, He, Wdq, mrm|evex|ttm128, x, tevexwb[244][0]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 244 */ + }, { /* evex_Wb_ext 244 */ {OP_vpslld, 0x660f7226, catSIMD, "vpslld", He, xx, KEw, Ib, We, mrm|evex|ttfv, x, tevexwb[244][1]}, {OP_vpslld, 0x660f7236, catSIMD, "vpslld", He, xx, KEw, Ib, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 245 */ + }, { /* evex_Wb_ext 245 */ {OP_vpackusdw, 0x66382b08, catUncategorized, "vpackusdw", Ve, xx, KEd, He, We, mrm|evex|reqp|ttfv, x, tevexwb[245][1]}, {OP_vpackusdw, 0x66382b18, catUncategorized, "vpackusdw", Ve, xx, KEd, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 246 */ + }, { /* evex_Wb_ext 246 */ {OP_vrndscaleps, 0x663a0808, catSIMD, "vrndscaleps", Ve, xx, KEw, Ib, We, mrm|evex|reqp|ttfv, x, modx[110][0]}, {MOD_EXT, 0x663a0918, catUncategorized, "(mod ext 110)", xx, xx, xx, xx, xx, mrm|evex, x, 110}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 247 */ + }, { /* evex_Wb_ext 247 */ {OP_vpermilps, 0x663a0408, catFP | catMove | catSIMD, "vpermilps", Ve, xx, KEw, We, Ib, mrm|evex|reqp|ttfv, x, tevexwb[247][1]}, {OP_vpermilps, 0x663a0418, catFP | catMove | catSIMD, "vpermilps", Ve, xx, KEw, Md, Ib, mrm|evex|reqp|ttfv, x, tevexwb[248][0]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 248 */ + }, { /* evex_Wb_ext 248 */ {OP_vpermilps, 0x66380c08, catFP | catMove | catSIMD, "vpermilps", Ve, xx, KEw, He, We, mrm|evex|reqp|ttfv, x, tevexwb[248][1]}, {OP_vpermilps, 0x66380c18, catFP | catMove | catSIMD, "vpermilps", Ve, xx, KEw, He, Md, mrm|evex|reqp|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 249 */ + }, { /* evex_Wb_ext 249 */ {OP_vcvtps2dq, 0x660f5b00, catFP | catConvert | catSIMD, "vcvtps2dq", Ve, xx, KEw, Wes, xx, mrm|evex|ttfv, x, modx[116][0]}, {MOD_EXT, 0x660f5b10, catUncategorized, "(mod ext 116)", xx, xx, xx, xx, xx, mrm|evex, x, 116}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 250 */ + }, { /* evex_Wb_ext 250 */ {OP_vcvttps2dq, 0xf30f5b00, catFP | catConvert | catSIMD, "vcvttps2dq", Ve, xx, KEw, Wes, xx, mrm|evex|ttfv, x, modx[117][0]}, {MOD_EXT, 0xf30f5b10, catUncategorized, "(mod ext 117)", xx, xx, xx, xx, xx, mrm|evex, x, 117}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 251 */ + }, { /* evex_Wb_ext 251 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpermq, 0x663a0048, catSIMD, "vpermq", Vf, xx, KEb, Wf, Ib, mrm|evex|reqp|ttfv, x, tevexwb[251][3]}, {OP_vpermq, 0x663a0058, catSIMD, "vpermq", Vf, xx, KEb, Mq, Ib, mrm|evex|reqp|ttfv, x, tevexwb[93][2]}, - }, { /* evex_W_ext 252 */ + }, { /* evex_Wb_ext 252 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpermpd, 0x663a0148, catSIMD, "vpermpd", Vf, xx, KEw, Wf, Ib, mrm|evex|reqp, x, tevexwb[252][3]}, {OP_vpermpd, 0x663a0158, catSIMD, "vpermpd", Vf, xx, KEw, Mq, Ib, mrm|evex|reqp, x, tevexwb[94][2]}, - }, { /* evex_W_ext 253 */ + }, { /* evex_Wb_ext 253 */ {OP_vrndscaless, 0x663a0a08, catUncategorized, "vrndscaless", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|reqp|ttt1s, x, exop[244]}, {OP_vrndscaless, 0x663a0a18, catUncategorized, "vrndscaless", Vdq, xx, KE1b, Ib, H12_dq, xop|mrm|evex|sae|reqp|ttt1s, x, exop[245]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 254 */ + }, { /* evex_Wb_ext 254 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vrndscalesd, 0x663a0b48, catUncategorized, "vrndscalesd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|reqp|ttt1s, x, exop[246]}, {OP_vrndscalesd, 0x663a0b58, catUncategorized, "vrndscalesd", Vdq, xx, KE1b, Ib, Hsd, xop|mrm|evex|sae|reqp|ttt1s, x, exop[247]}, - }, { /* evex_W_ext 255 */ + }, { /* evex_Wb_ext 255 */ {OP_vaddss, 0xf30f5800, catFP | catMath, "vaddss", Vdq, xx, KE1b, Hdq, Wss, mrm|evex|ttt1s, x, tevexwb[255][1]}, {OP_vaddss, 0xf30f5810, catFP | catMath, "vaddss", Vdq, xx, KE1b, Hdq, Uss, mrm|evex|er|ttt1s, x, END_LIST}, {OP_vaddsd, 0xf20f5840, catFP | catMath, "vaddsd", Vdq, xx, KE1b, Hdq, Wsd, mrm|evex|ttt1s, x, tevexwb[255][3]}, {OP_vaddsd, 0xf20f5850, catFP | catMath, "vaddsd", Vdq, xx, KE1b, Hdq, Usd, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 256 */ + }, { /* evex_Wb_ext 256 */ {OP_vmulss, 0xf30f5900, catFP | catMath, "vmulss", Vdq, xx, KE1b, Hdq, Wss, mrm|evex|ttt1s, x, tevexwb[256][1]}, {OP_vmulss, 0xf30f5910, catFP | catMath, "vmulss", Vdq, xx, KE1b, Hdq, Uss, mrm|evex|er|ttt1s, x, END_LIST}, {OP_vmulsd, 0xf20f5940, catFP | catMath, "vmulsd", Vdq, xx, KE1b, Hdq, Wsd, mrm|evex|ttt1s, x, tevexwb[256][3]}, {OP_vmulsd, 0xf20f5950, catFP | catMath, "vmulsd", Vdq, xx, KE1b, Hdq, Usd, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 257 */ + }, { /* evex_Wb_ext 257 */ {OP_vcvtss2sd, 0xf30f5a00, catFP | catConvert | catSIMD, "vcvtss2sd", Vdq, xx, KE1b, Hsd, Wss, mrm|evex|ttt1s, x, tevexwb[257][1]}, {OP_vcvtss2sd, 0xf30f5a10, catFP | catConvert | catSIMD, "vcvtss2sd", Vdq, xx, KE1b, Hsd, Uss, mrm|evex|sae|ttt1s, x, END_LIST}, {OP_vcvtsd2ss, 0xf20f5a40, catFP | catConvert | catSIMD, "vcvtsd2ss", Vdq, xx, KE1b, H12_dq, Wsd, mrm|evex|ttt1s, x, tevexwb[257][3]}, {OP_vcvtsd2ss, 0xf20f5a50, catFP | catConvert | catSIMD, "vcvtsd2ss", Vdq, xx, KE1b, H12_dq, Usd, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 258 */ + }, { /* evex_Wb_ext 258 */ {OP_vsubss, 0xf30f5c00, catFP | catMath, "vsubss", Vdq, xx, KE1b, Hdq, Wss, mrm|evex|ttt1s, x, tevexwb[258][1]}, {OP_vsubss, 0xf30f5c10, catFP | catMath, "vsubss", Vdq, xx, KE1b, Hdq, Uss, mrm|evex|er|ttt1s, x, END_LIST}, {OP_vsubsd, 0xf20f5c40, catFP | catMath, "vsubsd", Vdq, xx, KE1b, Hdq, Wsd, mrm|evex|ttt1s, x, tevexwb[258][3]}, {OP_vsubsd, 0xf20f5c50, catFP | catMath, "vsubsd", Vdq, xx, KE1b, Hdq, Usd, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 259 */ + }, { /* evex_Wb_ext 259 */ {OP_vminss, 0xf30f5d00, catFP | catMath, "vminss", Vdq, xx, KE1b, Hdq, Wss, mrm|evex|ttt1s, x, tevexwb[259][1]}, {OP_vminss, 0xf30f5d10, catFP | catMath, "vminss", Vdq, xx, KE1b, Hdq, Uss, mrm|evex|sae|ttt1s, x, END_LIST}, {OP_vminsd, 0xf20f5d40, catFP | catMath, "vminsd", Vdq, xx, KE1b, Hdq, Wsd, mrm|evex|ttt1s, x, tevexwb[259][3]}, {OP_vminsd, 0xf20f5d50, catFP | catMath, "vminsd", Vdq, xx, KE1b, Hdq, Usd, mrm|evex|sae|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 260 */ + }, { /* evex_Wb_ext 260 */ {OP_vdivss, 0xf30f5e00, catFP | catMath, "vdivss", Vdq, xx, KE1b, Hdq, Wss, mrm|evex|ttt1s, x, tevexwb[260][1]}, {OP_vdivss, 0xf30f5e10, catFP | catMath, "vdivss", Vdq, xx, KE1b, Hdq, Uss, mrm|evex|er|ttt1s, x, END_LIST}, {OP_vdivsd, 0xf20f5e40, catFP | catMath, "vdivsd", Vdq, xx, KE1b, Hdq, Wsd, mrm|evex|ttt1s, x, tevexwb[260][3]}, {OP_vdivsd, 0xf20f5e50, catFP | catMath, "vdivsd", Vdq, xx, KE1b, Hdq, Usd, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 261 */ + }, { /* evex_Wb_ext 261 */ {OP_vmaxss, 0xf30f5f00, catFP | catMath, "vmaxss", Vdq, xx, KE1b, Hdq, Wss, mrm|evex|ttt1s, x, tevexwb[261][1]}, {OP_vmaxss, 0xf30f5f10, catFP | catMath, "vmaxss", Vdq, xx, KE1b, Hdq, Uss, mrm|evex|sae|ttt1s, x, END_LIST}, {OP_vmaxsd, 0xf20f5f40, catFP | catMath, "vmaxsd", Vdq, xx, KE1b, Hdq, Wsd, mrm|evex|ttt1s, x, tevexwb[261][3]}, {OP_vmaxsd, 0xf20f5f50, catFP | catMath, "vmaxsd", Vdq, xx, KE1b, Hdq, Usd, mrm|evex|sae|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 262 */ + }, { /* evex_Wb_ext 262 */ {OP_vcmpss, 0xf30fc200, catFP | catMath, "vcmpss", KP1b, xx, KE1b, Ib, Hdq, xop|mrm|evex|ttt1s, x, exop[193]}, {OP_vcmpss, 0xf30fc210, catFP | catMath, "vcmpss", KP1b, xx, KE1b, Ib, Hdq, xop|mrm|evex|sae|ttt1s, x, exop[194]}, {OP_vcmpsd, 0xf20fc240, catFP | catMath, "vcmpsd", KP1b, xx, KE1b, Ib, Hdq, xop|mrm|evex|ttt1s, x, exop[195]}, {OP_vcmpsd, 0xf20fc250, catFP | catMath, "vcmpsd", KP1b, xx, KE1b, Ib, Hdq, xop|mrm|evex|sae|ttt1s, x, exop[196]}, - }, { /* evex_W_ext 263 */ + }, { /* evex_Wb_ext 263 */ {OP_vcvtph2ps, 0x66381308, catFP | catConvert | catSIMD, "vcvtph2ps", Ve, xx, KEw, Wh_e, xx, mrm|evex|tthvm, x, tevexwb[263][1]}, {OP_vcvtph2ps, 0x66381318, catFP | catConvert | catSIMD, "vcvtph2ps", Voq, xx, KEw, Uqq, xx, mrm|evex|sae|tthvm, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 264 */ + }, { /* evex_Wb_ext 264 */ /* XXX i#3639: tools tend to accept different source/destination register mnemonics. * This also affects the existing VEX version if it exists. */ @@ -9543,132 +9543,132 @@ const instr_info_t evex_Wb_extensions[][4] = { {OP_vcvtps2ph, 0x663a1d18, catFP | catConvert | catSIMD, "vcvtps2ph", Uqq, xx, KEw, Voq, Ib, mrm|evex|sae|reqp|tthvm, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 265 */ + }, { /* evex_Wb_ext 265 */ {OP_vsqrtps, 0x0f5100, catFP | catMath | catSIMD, "vsqrtps", Ves, xx, KEw, Wes, xx, mrm|evex|ttfv, x, modx[118][0]}, {MOD_EXT, 0x0f5110, catUncategorized, "(mod ext 118)", xx, xx, xx, xx, xx, mrm|evex, x, 118}, {OP_vsqrtpd, 0x660f5140, catFP | catMath | catSIMD, "vsqrtpd", Ved, xx, KEb, Wed, xx, mrm|evex|ttfv, x, modx[119][0]}, {MOD_EXT, 0x660f5150, catUncategorized, "(mod ext 119)", xx, xx, xx, xx, xx, mrm|evex, x, 119}, - }, { /* evex_W_ext 266 */ + }, { /* evex_Wb_ext 266 */ {OP_vsqrtss, 0xf30f5100, catFP | catMath, "vsqrtss", Vdq, xx, KE1b, H12_dq, Wss, mrm|evex|ttt1s, x, tevexwb[266][1]}, {OP_vsqrtss, 0xf30f5110, catFP | catMath, "vsqrtss", Vdq, xx, KE1b, H12_dq, Uss, mrm|evex|er|ttt1s, x, END_LIST}, {OP_vsqrtsd, 0xf20f5140, catFP | catMath, "vsqrtsd", Vdq, xx, KE1b, Hsd, Wsd, mrm|evex|ttt1s, x, tevexwb[266][3]}, {OP_vsqrtsd, 0xf20f5150, catFP | catMath, "vsqrtsd", Vdq, xx, KE1b, Hsd, Usd, mrm|evex|er|ttt1s, x, END_LIST}, - }, { /* evex_W_ext 267 */ + }, { /* evex_Wb_ext 267 */ {OP_vpdpbusd, 0x66385008, catUncategorized, "vpdpbusd", Ve, xx, KEd, He, We, mrm|evex|ttfv|reqp, x, tevexwb[267][1]}, {OP_vpdpbusd, 0x66385018, catUncategorized, "vpdpbusd", Ve, xx, KEd, He, Md, mrm|evex|ttfv|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 268 */ + }, { /* evex_Wb_ext 268 */ {OP_vpdpbusds, 0x66385108, catUncategorized, "vpdpbusds", Ve, xx, KEd, He, We, mrm|evex|ttfv|reqp, x, tevexwb[268][1]}, {OP_vpdpbusds, 0x66385118, catUncategorized, "vpdpbusds", Ve, xx, KEd, He, Md, mrm|evex|ttfv|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 269 */ + }, { /* evex_Wb_ext 269 */ {OP_vpdpwssd, 0x66385208, catUncategorized, "vpdpwssd", Ve, xx, KEd, He, We, mrm|evex|ttfv, x, tevexwb[269][1]}, {OP_vpdpwssd, 0x66385218, catUncategorized, "vpdpwssd", Ve, xx, KEd, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - }, { /* evex_W_ext 270 */ + }, { /* evex_Wb_ext 270 */ {OP_vpdpwssds, 0x66385308, catUncategorized, "vpdpwssds", Ve, xx, KEd, He, We, mrm|evex|ttfv|reqp, x, tevexwb[270][1]}, {OP_vpdpwssds, 0x66385318, catUncategorized, "vpdpwssds", Ve, xx, KEd, He, Md, mrm|evex|ttfv|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 271 */ + },{ /* evex_Wb_ext 271 */ {OP_vcvtne2ps2bf16, 0xf2387208, catUncategorized, "vcvtne2ps2bf16", Ve, xx, KEd, He, We, mrm|evex|ttfv, x, tevexwb[271][1]}, {OP_vcvtne2ps2bf16, 0xf2387218, catUncategorized, "vcvtne2ps2bf16", Ve, xx, KEd, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 272 */ + },{ /* evex_Wb_ext 272 */ {OP_vcvtneps2bf16, 0xf3387208, catUncategorized, "vcvtneps2bf16", Vh_e, xx, KEd, We, xx, mrm|evex|ttfv, x, tevexwb[272][1]}, {OP_vcvtneps2bf16, 0xf3387218, catUncategorized, "vcvtneps2bf16", Vh_e, xx, KEd, Md, xx, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 273 */ + },{ /* evex_Wb_ext 273 */ {OP_vdpbf16ps, 0xf3385208, catUncategorized, "vdpbf16ps", Ve, xx, KEd, He, We, mrm|evex|ttfv, x, tevexwb[273][1]}, {OP_vdpbf16ps, 0xf3385218, catUncategorized, "vdpbf16ps", Ve, xx, KEd, He, Md, mrm|evex|ttfv, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 274 */ + },{ /* evex_Wb_ext 274 */ {OP_vpopcntd, 0x66385508, catUncategorized, "vpopcntd", Ve, xx, KEd, We, xx, mrm|evex|ttfv|reqp, x, tevexwb[274][1]}, {OP_vpopcntd, 0x66385518, catUncategorized, "vpopcntd", Ve, xx, KEd, Md, xx, mrm|evex|ttfv|reqp, x, END_LIST}, {OP_vpopcntq, 0x66385548, catUncategorized, "vpopcntq", Ve, xx, KEq, We, xx, mrm|evex|ttfv|reqp, x, tevexwb[274][3]}, {OP_vpopcntq, 0x66385558, catUncategorized, "vpopcntq", Ve, xx, KEq, Mq, xx, mrm|evex|ttfv|reqp, x, END_LIST}, - },{ /* evex_W_ext 275 */ + },{ /* evex_Wb_ext 275 */ {OP_vpopcntb, 0x66385408, catSIMD, "vpopcntb", Ve, xx, KEd, We, xx, mrm|evex|ttfv|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpopcntw, 0x66385448, catSIMD, "vpopcntw", Ve, xx, KEq, We, xx, mrm|evex|ttfv|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 276 */ + },{ /* evex_Wb_ext 276 */ {OP_vpshufbitqmb, 0x66388f08, catSIMD, "vpshufbitqmb", KPq, xx, KEd, He, We, mrm|evex|ttfv|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 277 */ + },{ /* evex_Wb_ext 277 */ {OP_vgf2p8mulb, 0x6638cf08, catMath | catSIMD, "vgf2p8mulb", Ve, xx, KEb, He, We, mrm|evex|ttfvm|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 278 */ + },{ /* evex_Wb_ext 278 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vgf2p8affineqb, 0x663ace48, catMath | catSIMD, "vgf2p8affineqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[257]}, {OP_vgf2p8affineqb, 0x663ace58, catMath | catSIMD, "vgf2p8affineqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[258]}, - },{ /* evex_W_ext 279 */ + },{ /* evex_Wb_ext 279 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vgf2p8affineinvqb, 0x663acf48, catMath | catSIMD, "vgf2p8affineinvqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[259]}, {OP_vgf2p8affineinvqb, 0x663acf58, catMath | catSIMD, "vgf2p8affineinvqb", Ve, xx, KEb, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[260]}, - },{ /* evex_W_ext 280 */ + },{ /* evex_Wb_ext 280 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpmultishiftqb, 0x66388348, catSIMD, "vpmultishiftqb", Ve, xx, KEq, He, We, mrm|evex|ttfv|reqp, x, tevexwb[280][3]}, {OP_vpmultishiftqb, 0x66388358, catSIMD, "vpmultishiftqb", Ve, xx, KEq, He, Mq, mrm|evex|ttfv|reqp, x, END_LIST}, - },{ /* evex_W_ext 281 */ + },{ /* evex_Wb_ext 281 */ {OP_vpexpandb, 0x66386208, catSIMD, "vpexpandb", Ve, xx, KEq, We, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpexpandw, 0x66386248, catSIMD, "vpexpandw", Ve, xx, KEd, We, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 282 */ + },{ /* evex_Wb_ext 282 */ {OP_vpcompressb, 0x66386308, catSIMD, "vpcompressb", We, xx, KEq, Ve, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpcompressw, 0x66386348, catSIMD, "vpcompressw", We, xx, KEd, Ve, xx, mrm|evex|ttt1s|reqp, x, END_LIST}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 283 */ + },{ /* evex_Wb_ext 283 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpshldw, 0x663a7048, catSIMD, "vpshldw", Ve, xx, KEd, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[261]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 284 */ + },{ /* evex_Wb_ext 284 */ {OP_vpshldd, 0x663a7108, catSIMD, "vpshldd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[262]}, {OP_vpshldd, 0x663a7118, catSIMD, "vpshldd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[263]}, {OP_vpshldq, 0x663a7148, catSIMD, "vpshldq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[264]}, {OP_vpshldq, 0x663a7158, catSIMD, "vpshldq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[265]}, - },{ /* evex_W_ext 285 */ + },{ /* evex_Wb_ext 285 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpshrdw, 0x663a7248, catSIMD, "vpshrdw", Ve, xx, KEd, Ib, He, mrm|evex|ttfvm|reqp|xop, x, exop[266]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 286 */ + },{ /* evex_Wb_ext 286 */ {OP_vpshrdd, 0x663a7308, catSIMD, "vpshrdd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[267]}, {OP_vpshrdd, 0x663a7318, catSIMD, "vpshrdd", Ve, xx, KEw, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[268]}, {OP_vpshrdq, 0x663a7348, catSIMD, "vpshrdq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[269]}, {OP_vpshrdq, 0x663a7358, catSIMD, "vpshrdq", Ve, xx, KEb, Ib, He, mrm|evex|ttfv|reqp|xop, x, exop[270]}, - },{ /* evex_W_ext 287 */ + },{ /* evex_Wb_ext 287 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpshldvw, 0x66387048, catSIMD, "vpshldvw", Ve, xx, KEd, He, We, mrm|evex|ttfvm|reqp|xop, x, exop[271]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 288 */ + },{ /* evex_Wb_ext 288 */ {OP_vpshldvd, 0x66387108, catSIMD, "vpshldvd", Ve, xx, KEw, He, We, mrm|evex|ttfv|reqp|xop, x, exop[272]}, {OP_vpshldvd, 0x66387118, catSIMD, "vpshldvd", Ve, xx, KEw, He, Md, mrm|evex|ttfv|reqp|xop, x, exop[273]}, {OP_vpshldvq, 0x66387148, catSIMD, "vpshldvq", Ve, xx, KEb, He, We, mrm|evex|ttfv|reqp|xop, x, exop[274]}, {OP_vpshldvq, 0x66387158, catSIMD, "vpshldvq", Ve, xx, KEb, He, Mq, mrm|evex|ttfv|reqp|xop, x, exop[275]}, - },{ /* evex_W_ext 289 */ + },{ /* evex_Wb_ext 289 */ {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {OP_vpshrdvw, 0x66387248, catSIMD, "vpshrdvw", Ve, xx, KEd, He, We, mrm|evex|ttfvm|xop, x, exop[276]}, {INVALID, 0, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, - },{ /* evex_W_ext 290 */ + },{ /* evex_Wb_ext 290 */ {OP_vpshrdvd, 0x66387308, catSIMD, "vpshrdvd", Ve, xx, KEw, He, We, mrm|evex|ttfv|reqp|xop, x, exop[277]}, {OP_vpshrdvd, 0x66387318, catSIMD, "vpshrdvd", Ve, xx, KEw, He, Md, mrm|evex|ttfv|reqp|xop, x, exop[278]}, {OP_vpshrdvq, 0x66387348, catSIMD, "vpshrdvq", Ve, xx, KEb, He, We, mrm|evex|ttfv|reqp|xop, x, exop[279]}, From 1f67ae12087fe69fc8364d93b9473a5fea67bca9 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Sat, 14 Dec 2024 09:10:01 +0800 Subject: [PATCH 12/13] Enable more binutils tests. (#7134) Pick up some gfni and vnni tests that pass but had not been enabled. --- .../test_decenc/drdecode_decenc_x86_64.expect | 242 +++++++++++++++++- .../test_decenc/test_decenc_x86_64.asm | 2 +- 2 files changed, 230 insertions(+), 14 deletions(-) diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect index 613c3ebc801..8edf7639616 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect @@ -98782,6 +98782,222 @@ test_x86_64_s: 62 22 15 20 cf b4 f0 vgf2p8mulb %ymm29, 0x00001234(%rax,%r14,8), %ymm30 {%k0} 34 12 00 00 62 62 15 20 cf 72 7f vgf2p8mulb %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 a2 6d 40 52 d1 vpdpwssd %zmm18, %zmm17, %zmm18 {%k0} + 62 a2 6d 45 52 d1 vpdpwssd %zmm18, %zmm17, %zmm18 {%k5} + 62 a2 6d c5 52 d1 vpdpwssd %zmm18, %zmm17, %zmm18 {%k5} + 62 a2 6d 40 52 94 f0 vpdpwssd %zmm18, 0x00000123(%rax,%r14,8), %zmm18 {%k0} + 23 01 00 00 + 62 e2 6d 40 52 52 7f vpdpwssd %zmm18, 0x00001fc0(%rdx), %zmm18 {%k0} + 62 e2 6d 50 52 52 7f vpdpwssd %zmm18, 0x000001fc(%rdx), %zmm18 {%k0} + 62 a2 55 40 53 e9 vpdpwssds %zmm21, %zmm17, %zmm21 {%k0} + 62 a2 55 44 53 e9 vpdpwssds %zmm21, %zmm17, %zmm21 {%k4} + 62 a2 55 c4 53 e9 vpdpwssds %zmm21, %zmm17, %zmm21 {%k4} + 62 a2 55 40 53 ac f0 vpdpwssds %zmm21, 0x00000123(%rax,%r14,8), %zmm21 {%k0} + 23 01 00 00 + 62 e2 55 40 53 6a 7f vpdpwssds %zmm21, 0x00001fc0(%rdx), %zmm21 {%k0} + 62 e2 55 50 53 6a 7f vpdpwssds %zmm21, 0x000001fc(%rdx), %zmm21 {%k0} + 62 a2 55 40 50 fa vpdpbusd %zmm21, %zmm18, %zmm23 {%k0} + 62 a2 55 44 50 fa vpdpbusd %zmm21, %zmm18, %zmm23 {%k4} + 62 a2 55 c4 50 fa vpdpbusd %zmm21, %zmm18, %zmm23 {%k4} + 62 a2 55 40 50 bc f0 vpdpbusd %zmm21, 0x00000123(%rax,%r14,8), %zmm23 {%k0} + 23 01 00 00 + 62 e2 55 40 50 7a 7f vpdpbusd %zmm21, 0x00001fc0(%rdx), %zmm23 {%k0} + 62 e2 55 50 50 7a 7f vpdpbusd %zmm21, 0x000001fc(%rdx), %zmm23 {%k0} + 62 02 3d 40 51 c1 vpdpbusds %zmm24, %zmm25, %zmm24 {%k0} + 62 02 3d 47 51 c1 vpdpbusds %zmm24, %zmm25, %zmm24 {%k7} + 62 02 3d c7 51 c1 vpdpbusds %zmm24, %zmm25, %zmm24 {%k7} + 62 22 3d 40 51 84 f0 vpdpbusds %zmm24, 0x00000123(%rax,%r14,8), %zmm24 {%k0} + 23 01 00 00 + 62 62 3d 40 51 42 7f vpdpbusds %zmm24, 0x00001fc0(%rdx), %zmm24 {%k0} + 62 62 3d 50 51 42 7f vpdpbusds %zmm24, 0x000001fc(%rdx), %zmm24 {%k0} + 62 22 25 40 52 e1 vpdpwssd %zmm27, %zmm17, %zmm28 {%k0} + 62 22 25 47 52 e1 vpdpwssd %zmm27, %zmm17, %zmm28 {%k7} + 62 22 25 c7 52 e1 vpdpwssd %zmm27, %zmm17, %zmm28 {%k7} + 62 22 25 40 52 a4 f0 vpdpwssd %zmm27, 0x00001234(%rax,%r14,8), %zmm28 {%k0} + 34 12 00 00 + 62 62 25 40 52 62 7f vpdpwssd %zmm27, 0x00001fc0(%rdx), %zmm28 {%k0} + 62 62 25 50 52 62 7f vpdpwssd %zmm27, 0x000001fc(%rdx), %zmm28 {%k0} + 62 22 1d 40 53 e9 vpdpwssds %zmm28, %zmm17, %zmm29 {%k0} + 62 22 1d 43 53 e9 vpdpwssds %zmm28, %zmm17, %zmm29 {%k3} + 62 22 1d c3 53 e9 vpdpwssds %zmm28, %zmm17, %zmm29 {%k3} + 62 22 1d 40 53 ac f0 vpdpwssds %zmm28, 0x00001234(%rax,%r14,8), %zmm29 {%k0} + 34 12 00 00 + 62 62 1d 40 53 6a 7f vpdpwssds %zmm28, 0x00001fc0(%rdx), %zmm29 {%k0} + 62 62 1d 50 53 6a 7f vpdpwssds %zmm28, 0x000001fc(%rdx), %zmm29 {%k0} + 62 22 3d 40 50 e5 vpdpbusd %zmm24, %zmm21, %zmm28 {%k0} + 62 22 3d 46 50 e5 vpdpbusd %zmm24, %zmm21, %zmm28 {%k6} + 62 22 3d c6 50 e5 vpdpbusd %zmm24, %zmm21, %zmm28 {%k6} + 62 22 3d 40 50 a4 f0 vpdpbusd %zmm24, 0x00001234(%rax,%r14,8), %zmm28 {%k0} + 34 12 00 00 + 62 62 3d 40 50 62 7f vpdpbusd %zmm24, 0x00001fc0(%rdx), %zmm28 {%k0} + 62 62 3d 50 50 62 7f vpdpbusd %zmm24, 0x000001fc(%rdx), %zmm28 {%k0} + 62 a2 75 40 51 e4 vpdpbusds %zmm17, %zmm20, %zmm20 {%k0} + 62 a2 75 42 51 e4 vpdpbusds %zmm17, %zmm20, %zmm20 {%k2} + 62 a2 75 c2 51 e4 vpdpbusds %zmm17, %zmm20, %zmm20 {%k2} + 62 a2 75 40 51 a4 f0 vpdpbusds %zmm17, 0x00001234(%rax,%r14,8), %zmm20 {%k0} + 34 12 00 00 + 62 e2 75 40 51 62 7f vpdpbusds %zmm17, 0x00001fc0(%rdx), %zmm20 {%k0} + 62 e2 75 50 51 62 7f vpdpbusds %zmm17, 0x000001fc(%rdx), %zmm20 {%k0} + 62 22 4d 00 52 d4 vpdpwssd %xmm22, %xmm20, %xmm26 {%k0} + 62 22 4d 03 52 d4 vpdpwssd %xmm22, %xmm20, %xmm26 {%k3} + 62 22 4d 83 52 d4 vpdpwssd %xmm22, %xmm20, %xmm26 {%k3} + 62 22 4d 00 52 94 f0 vpdpwssd %xmm22, 0x00000123(%rax,%r14,8), %xmm26 {%k0} + 23 01 00 00 + 62 62 4d 00 52 52 7f vpdpwssd %xmm22, 0x000007f0(%rdx), %xmm26 {%k0} + 62 62 4d 10 52 52 7f vpdpwssd %xmm22, 0x000001fc(%rdx), %xmm26 {%k0} + 62 a2 5d 20 52 e2 vpdpwssd %ymm20, %ymm18, %ymm20 {%k0} + 62 a2 5d 25 52 e2 vpdpwssd %ymm20, %ymm18, %ymm20 {%k5} + 62 a2 5d a5 52 e2 vpdpwssd %ymm20, %ymm18, %ymm20 {%k5} + 62 a2 5d 20 52 a4 f0 vpdpwssd %ymm20, 0x00000123(%rax,%r14,8), %ymm20 {%k0} + 23 01 00 00 + 62 e2 5d 20 52 62 7f vpdpwssd %ymm20, 0x00000fe0(%rdx), %ymm20 {%k0} + 62 e2 5d 30 52 62 7f vpdpwssd %ymm20, 0x000001fc(%rdx), %ymm20 {%k0} + 62 a2 65 00 53 f7 vpdpwssds %xmm19, %xmm23, %xmm22 {%k0} + 62 a2 65 07 53 f7 vpdpwssds %xmm19, %xmm23, %xmm22 {%k7} + 62 a2 65 87 53 f7 vpdpwssds %xmm19, %xmm23, %xmm22 {%k7} + 62 a2 65 00 53 b4 f0 vpdpwssds %xmm19, 0x00000123(%rax,%r14,8), %xmm22 {%k0} + 23 01 00 00 + 62 e2 65 00 53 72 7f vpdpwssds %xmm19, 0x000007f0(%rdx), %xmm22 {%k0} + 62 e2 65 10 53 72 7f vpdpwssds %xmm19, 0x000001fc(%rdx), %xmm22 {%k0} + 62 82 45 20 53 fc vpdpwssds %ymm23, %ymm28, %ymm23 {%k0} + 62 82 45 23 53 fc vpdpwssds %ymm23, %ymm28, %ymm23 {%k3} + 62 82 45 a3 53 fc vpdpwssds %ymm23, %ymm28, %ymm23 {%k3} + 62 a2 45 20 53 bc f0 vpdpwssds %ymm23, 0x00000123(%rax,%r14,8), %ymm23 {%k0} + 23 01 00 00 + 62 e2 45 20 53 7a 7f vpdpwssds %ymm23, 0x00000fe0(%rdx), %ymm23 {%k0} + 62 e2 45 30 53 7a 7f vpdpwssds %ymm23, 0x000001fc(%rdx), %ymm23 {%k0} + 62 82 15 00 50 d4 vpdpbusd %xmm29, %xmm28, %xmm18 {%k0} + 62 82 15 03 50 d4 vpdpbusd %xmm29, %xmm28, %xmm18 {%k3} + 62 82 15 83 50 d4 vpdpbusd %xmm29, %xmm28, %xmm18 {%k3} + 62 a2 15 00 50 94 f0 vpdpbusd %xmm29, 0x00000123(%rax,%r14,8), %xmm18 {%k0} + 23 01 00 00 + 62 e2 15 00 50 52 7f vpdpbusd %xmm29, 0x000007f0(%rdx), %xmm18 {%k0} + 62 e2 15 10 50 52 7f vpdpbusd %xmm29, 0x000001fc(%rdx), %xmm18 {%k0} + 62 a2 6d 20 50 e1 vpdpbusd %ymm18, %ymm17, %ymm20 {%k0} + 62 a2 6d 22 50 e1 vpdpbusd %ymm18, %ymm17, %ymm20 {%k2} + 62 a2 6d a2 50 e1 vpdpbusd %ymm18, %ymm17, %ymm20 {%k2} + 62 a2 6d 20 50 a4 f0 vpdpbusd %ymm18, 0x00000123(%rax,%r14,8), %ymm20 {%k0} + 23 01 00 00 + 62 e2 6d 20 50 62 7f vpdpbusd %ymm18, 0x00000fe0(%rdx), %ymm20 {%k0} + 62 e2 6d 30 50 62 7f vpdpbusd %ymm18, 0x000001fc(%rdx), %ymm20 {%k0} + 62 02 2d 00 51 c3 vpdpbusds %xmm26, %xmm27, %xmm24 {%k0} + 62 02 2d 04 51 c3 vpdpbusds %xmm26, %xmm27, %xmm24 {%k4} + 62 02 2d 84 51 c3 vpdpbusds %xmm26, %xmm27, %xmm24 {%k4} + 62 22 2d 00 51 84 f0 vpdpbusds %xmm26, 0x00000123(%rax,%r14,8), %xmm24 {%k0} + 23 01 00 00 + 62 62 2d 00 51 42 7f vpdpbusds %xmm26, 0x000007f0(%rdx), %xmm24 {%k0} + 62 62 2d 10 51 42 7f vpdpbusds %xmm26, 0x000001fc(%rdx), %xmm24 {%k0} + 62 02 15 20 51 f1 vpdpbusds %ymm29, %ymm25, %ymm30 {%k0} + 62 02 15 21 51 f1 vpdpbusds %ymm29, %ymm25, %ymm30 {%k1} + 62 02 15 a1 51 f1 vpdpbusds %ymm29, %ymm25, %ymm30 {%k1} + 62 22 15 20 51 b4 f0 vpdpbusds %ymm29, 0x00000123(%rax,%r14,8), %ymm30 {%k0} + 23 01 00 00 + 62 62 15 20 51 72 7f vpdpbusds %ymm29, 0x00000fe0(%rdx), %ymm30 {%k0} + 62 62 15 30 51 72 7f vpdpbusds %ymm29, 0x000001fc(%rdx), %ymm30 {%k0} + 62 a2 5d 00 52 ef vpdpwssd %xmm20, %xmm23, %xmm21 {%k0} + 62 a2 5d 06 52 ef vpdpwssd %xmm20, %xmm23, %xmm21 {%k6} + 62 a2 5d 86 52 ef vpdpwssd %xmm20, %xmm23, %xmm21 {%k6} + 62 a2 5d 00 52 ac f0 vpdpwssd %xmm20, 0x00001234(%rax,%r14,8), %xmm21 {%k0} + 34 12 00 00 + 62 e2 5d 00 52 6a 7f vpdpwssd %xmm20, 0x000007f0(%rdx), %xmm21 {%k0} + 62 e2 5d 10 52 6a 7f vpdpwssd %xmm20, 0x000001fc(%rdx), %xmm21 {%k0} + 62 22 25 20 52 c9 vpdpwssd %ymm27, %ymm17, %ymm25 {%k0} + 62 22 25 26 52 c9 vpdpwssd %ymm27, %ymm17, %ymm25 {%k6} + 62 22 25 a6 52 c9 vpdpwssd %ymm27, %ymm17, %ymm25 {%k6} + 62 22 25 20 52 8c f0 vpdpwssd %ymm27, 0x00001234(%rax,%r14,8), %ymm25 {%k0} + 34 12 00 00 + 62 62 25 20 52 4a 7f vpdpwssd %ymm27, 0x00000fe0(%rdx), %ymm25 {%k0} + 62 62 25 30 52 4a 7f vpdpwssd %ymm27, 0x000001fc(%rdx), %ymm25 {%k0} + 62 22 35 00 53 f5 vpdpwssds %xmm25, %xmm21, %xmm30 {%k0} + 62 22 35 06 53 f5 vpdpwssds %xmm25, %xmm21, %xmm30 {%k6} + 62 22 35 86 53 f5 vpdpwssds %xmm25, %xmm21, %xmm30 {%k6} + 62 22 35 00 53 b4 f0 vpdpwssds %xmm25, 0x00001234(%rax,%r14,8), %xmm30 {%k0} + 34 12 00 00 + 62 62 35 00 53 72 7f vpdpwssds %xmm25, 0x000007f0(%rdx), %xmm30 {%k0} + 62 62 35 10 53 72 7f vpdpwssds %xmm25, 0x000001fc(%rdx), %xmm30 {%k0} + 62 02 25 20 53 e3 vpdpwssds %ymm27, %ymm27, %ymm28 {%k0} + 62 02 25 27 53 e3 vpdpwssds %ymm27, %ymm27, %ymm28 {%k7} + 62 02 25 a7 53 e3 vpdpwssds %ymm27, %ymm27, %ymm28 {%k7} + 62 22 25 20 53 a4 f0 vpdpwssds %ymm27, 0x00001234(%rax,%r14,8), %ymm28 {%k0} + 34 12 00 00 + 62 62 25 20 53 62 7f vpdpwssds %ymm27, 0x00000fe0(%rdx), %ymm28 {%k0} + 62 62 25 30 53 62 7f vpdpwssds %ymm27, 0x000001fc(%rdx), %ymm28 {%k0} + 62 22 6d 00 50 d3 vpdpbusd %xmm18, %xmm19, %xmm26 {%k0} + 62 22 6d 06 50 d3 vpdpbusd %xmm18, %xmm19, %xmm26 {%k6} + 62 22 6d 86 50 d3 vpdpbusd %xmm18, %xmm19, %xmm26 {%k6} + 62 22 6d 00 50 94 f0 vpdpbusd %xmm18, 0x00001234(%rax,%r14,8), %xmm26 {%k0} + 34 12 00 00 + 62 62 6d 00 50 52 7f vpdpbusd %xmm18, 0x000007f0(%rdx), %xmm26 {%k0} + 62 62 6d 10 50 52 7f vpdpbusd %xmm18, 0x000001fc(%rdx), %xmm26 {%k0} + 62 82 75 20 50 eb vpdpbusd %ymm17, %ymm27, %ymm21 {%k0} + 62 82 75 22 50 eb vpdpbusd %ymm17, %ymm27, %ymm21 {%k2} + 62 82 75 a2 50 eb vpdpbusd %ymm17, %ymm27, %ymm21 {%k2} + 62 a2 75 20 50 ac f0 vpdpbusd %ymm17, 0x00001234(%rax,%r14,8), %ymm21 {%k0} + 34 12 00 00 + 62 e2 75 20 50 6a 7f vpdpbusd %ymm17, 0x00000fe0(%rdx), %ymm21 {%k0} + 62 e2 75 30 50 6a 7f vpdpbusd %ymm17, 0x000001fc(%rdx), %ymm21 {%k0} + 62 02 2d 00 51 e0 vpdpbusds %xmm26, %xmm24, %xmm28 {%k0} + 62 02 2d 01 51 e0 vpdpbusds %xmm26, %xmm24, %xmm28 {%k1} + 62 02 2d 81 51 e0 vpdpbusds %xmm26, %xmm24, %xmm28 {%k1} + 62 22 2d 00 51 a4 f0 vpdpbusds %xmm26, 0x00001234(%rax,%r14,8), %xmm28 {%k0} + 34 12 00 00 + 62 62 2d 00 51 62 7f vpdpbusds %xmm26, 0x000007f0(%rdx), %xmm28 {%k0} + 62 62 2d 10 51 62 7f vpdpbusds %xmm26, 0x000001fc(%rdx), %xmm28 {%k0} + 62 82 6d 20 51 fb vpdpbusds %ymm18, %ymm27, %ymm23 {%k0} + 62 82 6d 26 51 fb vpdpbusds %ymm18, %ymm27, %ymm23 {%k6} + 62 82 6d a6 51 fb vpdpbusds %ymm18, %ymm27, %ymm23 {%k6} + 62 a2 6d 20 51 bc f0 vpdpbusds %ymm18, 0x00001234(%rax,%r14,8), %ymm23 {%k0} + 34 12 00 00 + 62 e2 6d 20 51 7a 7f vpdpbusds %ymm18, 0x00000fe0(%rdx), %ymm23 {%k0} + 62 e2 6d 30 51 7a 7f vpdpbusds %ymm18, 0x000001fc(%rdx), %ymm23 {%k0} + c4 e2 55 cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 + c4 a2 55 cf b4 f0 c0 vgf2p8mulb %ymm5, -0x0001e240(%rax,%r14,8), %ymm6 + 1d fe ff + c4 e2 55 cf 72 7e vgf2p8mulb %ymm5, 0x7e(%rdx), %ymm6 + c4 e3 d5 ce f4 ab vgf2p8affineqb %ymm5, %ymm4, $0xab, %ymm6 + c4 a3 d5 ce b4 f0 c0 vgf2p8affineqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 ce 72 7e 7b vgf2p8affineqb %ymm5, 0x7e(%rdx), $0x7b, %ymm6 + c4 e3 d5 cf f4 ab vgf2p8affineinvqb %ymm5, %ymm4, $0xab, %ymm6 + c4 a3 d5 cf b4 f0 c0 vgf2p8affineinvqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 cf 72 7e 7b vgf2p8affineinvqb %ymm5, 0x7e(%rdx), $0x7b, %ymm6 + c4 e2 51 cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 + c4 a2 51 cf b4 f0 c0 vgf2p8mulb %xmm5, -0x0001e240(%rax,%r14,8), %xmm6 + 1d fe ff + c4 e2 51 cf 72 7e vgf2p8mulb %xmm5, 0x7e(%rdx), %xmm6 + c4 e3 d1 ce f4 ab vgf2p8affineqb %xmm5, %xmm4, $0xab, %xmm6 + c4 a3 d1 ce b4 f0 c0 vgf2p8affineqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 ce 72 7e 7b vgf2p8affineqb %xmm5, 0x7e(%rdx), $0x7b, %xmm6 + c4 e3 d1 cf f4 ab vgf2p8affineinvqb %xmm5, %xmm4, $0xab, %xmm6 + c4 a3 d1 cf b4 f0 c0 vgf2p8affineinvqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 cf 72 7e 7b vgf2p8affineinvqb %xmm5, 0x7e(%rdx), $0x7b, %xmm6 + c4 e2 55 cf f4 vgf2p8mulb %ymm5, %ymm4, %ymm6 + c4 a2 55 cf b4 f0 c0 vgf2p8mulb %ymm5, -0x0001e240(%rax,%r14,8), %ymm6 + 1d fe ff + c4 e2 55 cf 72 7e vgf2p8mulb %ymm5, 0x7e(%rdx), %ymm6 + c4 e3 d5 ce f4 ab vgf2p8affineqb %ymm5, %ymm4, $0xab, %ymm6 + c4 a3 d5 ce b4 f0 c0 vgf2p8affineqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 ce 72 7e 7b vgf2p8affineqb %ymm5, 0x7e(%rdx), $0x7b, %ymm6 + c4 e3 d5 cf f4 ab vgf2p8affineinvqb %ymm5, %ymm4, $0xab, %ymm6 + c4 a3 d5 cf b4 f0 c0 vgf2p8affineinvqb %ymm5, -0x0001e240(%rax,%r14,8), $0x7b, %ymm6 + 1d fe ff 7b + c4 e3 d5 cf 72 7e 7b vgf2p8affineinvqb %ymm5, 0x7e(%rdx), $0x7b, %ymm6 + c4 e2 51 cf f4 vgf2p8mulb %xmm5, %xmm4, %xmm6 + c4 a2 51 cf b4 f0 c0 vgf2p8mulb %xmm5, -0x0001e240(%rax,%r14,8), %xmm6 + 1d fe ff + c4 e2 51 cf 72 7e vgf2p8mulb %xmm5, 0x7e(%rdx), %xmm6 + c4 e3 d1 ce f4 ab vgf2p8affineqb %xmm5, %xmm4, $0xab, %xmm6 + c4 a3 d1 ce b4 f0 c0 vgf2p8affineqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 ce 72 7e 7b vgf2p8affineqb %xmm5, 0x7e(%rdx), $0x7b, %xmm6 + c4 e3 d1 cf f4 ab vgf2p8affineinvqb %xmm5, %xmm4, $0xab, %xmm6 + c4 a3 d1 cf b4 f0 c0 vgf2p8affineinvqb %xmm5, -0x0001e240(%rax,%r14,8), $0x7b, %xmm6 + 1d fe ff 7b + c4 e3 d1 cf 72 7e 7b vgf2p8affineinvqb %xmm5, 0x7e(%rdx), $0x7b, %xmm6 62 f1 7d 08 7e 21 vmovd %xmm4, (%rcx) 62 f1 7d 08 7e e1 vmovd %xmm4, %ecx 62 f1 7d 08 6e 21 vmovd (%rcx), %xmm4 @@ -104466,7 +104682,7 @@ test_x86_64_s: 7b 00 00 00 62 e2 7d 21 91 84 c5 vpgatherqd 0x0000007b(%rbp,%ymm16,8), %ymm16 {%k1} {%k1} 7b 00 00 00 - 62 f1 7c 48 28 05 00 vmovaps 0x0000000010072af6, %zmm0 {%k0} + 62 f1 7c 48 28 05 00 vmovaps 0x0000000010073012, %zmm0 {%k0} fc ff ff 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax), %zmm0 {%k0} 40 00 00 00 @@ -104715,9 +104931,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010073491, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x00000000100739ad, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x000000001007349b, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x00000000100739b7, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -104729,9 +104945,9 @@ test_x86_64_s: 48 0f 38 f9 01 movdiri %rax, (%rcx) 66 0f 38 f8 01 movdir64b (%rcx), %rax 67 66 0f 38 f8 01 movdir64b (%ecx), %eax - 66 0f 38 f8 0d 00 00 movdir64b 0x00000000100734d7, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x00000000100739f3, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x00000000100734e1, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x00000000100739fd, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -104741,13 +104957,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010073516, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010073a32, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010073520, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010073a3c, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010073529, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010073a45, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010073533, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010073a4f, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 @@ -104761,13 +104977,13 @@ test_x86_64_s: 67 f2 0f 38 f8 01 enqcmd (%ecx), %eax f3 0f 38 f8 01 enqcmds (%rcx), %rax 67 f3 0f 38 f8 01 enqcmds (%ecx), %eax - f2 0f 38 f8 0d 00 00 enqcmd 0x000000001007357c, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010073a98, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010073586, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010073aa2, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x000000001007358f, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010073aab, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010073599, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010073ab5, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 diff --git a/third_party/binutils/test_decenc/test_decenc_x86_64.asm b/third_party/binutils/test_decenc/test_decenc_x86_64.asm index d4377d3be5a..963381eceb2 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86_64.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86_64.asm @@ -100089,6 +100089,7 @@ GLOBAL_LABEL(FUNCNAME:) RAW(34) RAW(12) RAW(00) RAW(00) RAW(7b) RAW(62) RAW(e3) RAW(15) RAW(20) RAW(44) RAW(7a) RAW(7f) RAW(7b) +#endif /* x86_64_avx512vnni.s */ RAW(62) RAW(a2) RAW(6d) RAW(40) RAW(52) RAW(d1) @@ -100311,7 +100312,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(c4) RAW(a3) RAW(d1) RAW(cf) RAW(b4) RAW(f0) RAW(c0) RAW(1d) RAW(fe) RAW(ff) RAW(7b) RAW(c4) RAW(e3) RAW(d1) RAW(cf) RAW(72) RAW(7e) RAW(7b) -#endif /* x86_64_evex_lig_2.s */ RAW(62) RAW(f1) RAW(7d) RAW(08) RAW(7e) RAW(21) From 73aae264aa7a41bf930b110572ea8f91add93d1c Mon Sep 17 00:00:00 2001 From: Abhinav Anil Sharma Date: Sun, 15 Dec 2024 02:20:30 -0500 Subject: [PATCH 13/13] i#7113 decode cache: move module read into raw2trace_shared (#7124) Moves the module read functionality into raw2trace_shared. Refactors opcode_mix and view to use the new function instead of creating a raw2trace_directory_t. This is in preparation for further changes that include the module read logic in a new library (drmemtrace_decode_cache) that provides an instr decode cache (decode_cache_t). To avoid having to pull in the whole drmemtrace_raw2trace implementation into drmemtrace_decode_cache, which will end up including it in the invariant checker and everything that depends on, we separate out the module read logic into raw2trace_shared which is intended for such cases. While the raw2trace and raw2trace_shared implementation usually is made to deal with only file streams, we make an exception here for read_module_file() which uses DR file APIs instead. This is likely fine because this function is not intended for use with code that wants file streams, and it is better than other alternatives: moving raw2trace-using functionality out of raw2trace_directory_t so we can use raw2trace_directory_t in decode_cache_t (this would still add zlib/lz4 etc unnecessary file libs to drmemtrace_decode_cache), create yet another raw2trace_shared_non_stream.cpp for shared code that uses DR file APIs, or duplicating the read_module_file impl in decode_cache_t. This also removes raw2trace_directory_t::initialize_module_file() as that functionality is now provided by read_module_file in raw2trace_shared. Issue: #7113 --- api/docs/release.dox | 4 +++ clients/drcachesim/CMakeLists.txt | 8 +++--- clients/drcachesim/tools/opcode_mix.cpp | 20 +++++++++----- clients/drcachesim/tools/opcode_mix.h | 7 +++-- clients/drcachesim/tools/view.cpp | 18 ++++++++++--- clients/drcachesim/tools/view.h | 8 +++--- .../drcachesim/tracer/raw2trace_directory.cpp | 27 +++---------------- .../drcachesim/tracer/raw2trace_directory.h | 9 +------ .../drcachesim/tracer/raw2trace_shared.cpp | 26 +++++++++++++++++- clients/drcachesim/tracer/raw2trace_shared.h | 20 ++++++++++++++ make/DynamoRIOConfig.cmake.in | 0 11 files changed, 93 insertions(+), 54 deletions(-) mode change 100755 => 100644 make/DynamoRIOConfig.cmake.in diff --git a/api/docs/release.dox b/api/docs/release.dox index a0333e528e6..5b8faf839ed 100644 --- a/api/docs/release.dox +++ b/api/docs/release.dox @@ -134,6 +134,10 @@ changes: is the encoding of the removed instruction up to a pointer's length. Added #OFFLINE_FILE_VERSION_RETIRED_INSTRUCTIONS_ONLY to increase the trace version for drmemtraces with uncompleted instructions removed. + - Moved module file read logic into read_module_file() in raw2trace_shared, and + removed raw2trace_directory_t::initialize_module_file() since the + read_module_file() can be directly used without having to pull in the whole + raw2trace_directory_t. Further non-compatibility-affecting changes include: - Added X64 Linux support to dr_create_memory_dump(). This API has the same diff --git a/clients/drcachesim/CMakeLists.txt b/clients/drcachesim/CMakeLists.txt index a67e5b64504..942e49847b8 100644 --- a/clients/drcachesim/CMakeLists.txt +++ b/clients/drcachesim/CMakeLists.txt @@ -161,9 +161,11 @@ add_exported_library(drmemtrace_reuse_distance STATIC tools/reuse_distance.cpp) add_exported_library(drmemtrace_histogram STATIC tools/histogram.cpp) add_exported_library(drmemtrace_reuse_time STATIC tools/reuse_time.cpp) add_exported_library(drmemtrace_basic_counts STATIC tools/basic_counts.cpp) -add_exported_library(drmemtrace_opcode_mix STATIC tools/opcode_mix.cpp) +add_exported_library(drmemtrace_opcode_mix STATIC + tools/opcode_mix.cpp tracer/raw2trace_shared.cpp) add_exported_library(drmemtrace_syscall_mix STATIC tools/syscall_mix.cpp) -add_exported_library(drmemtrace_view STATIC tools/view.cpp) +add_exported_library(drmemtrace_view STATIC + tools/view.cpp tracer/raw2trace_shared.cpp) add_exported_library(drmemtrace_func_view STATIC tools/func_view.cpp) add_exported_library(drmemtrace_invariant_checker STATIC tools/invariant_checker.cpp) add_exported_library(drmemtrace_schedule_stats STATIC tools/schedule_stats.cpp) @@ -1202,7 +1204,7 @@ if (BUILD_TESTS) add_executable(tool.drcacheoff.skip_unit_tests tests/skip_unit_tests.cpp) configure_DynamoRIO_standalone(tool.drcacheoff.skip_unit_tests) target_link_libraries(tool.drcacheoff.skip_unit_tests drmemtrace_analyzer - drmemtrace_view drmemtrace_raw2trace test_helpers) + drmemtrace_view test_helpers ${zlib_libs}) add_win32_flags(tool.drcacheoff.skip_unit_tests) use_DynamoRIO_extension(tool.drcacheoff.skip_unit_tests drreg_static) use_DynamoRIO_extension(tool.drcacheoff.skip_unit_tests drcovlib_static) diff --git a/clients/drcachesim/tools/opcode_mix.cpp b/clients/drcachesim/tools/opcode_mix.cpp index 07c712e09d0..6ff25819d31 100644 --- a/clients/drcachesim/tools/opcode_mix.cpp +++ b/clients/drcachesim/tools/opcode_mix.cpp @@ -1,5 +1,5 @@ /* ********************************************************** - * Copyright (c) 2017-2023 Google, Inc. All rights reserved. + * Copyright (c) 2017-2024 Google, Inc. All rights reserved. * **********************************************************/ /* @@ -56,7 +56,7 @@ #include "dr_api.h" #include "memref.h" #include "raw2trace.h" -#include "raw2trace_directory.h" +#include "raw2trace_shared.h" #include "reader.h" #include "trace_entry.h" #include "utils.h" @@ -92,13 +92,16 @@ opcode_mix_t::initialize() return ""; // Legacy trace support where binaries are needed. // We do not support non-module code for such traces. - std::string error = directory_.initialize_module_file(module_file_path_); - if (!error.empty()) - return "Failed to initialize directory: " + error; + file_t modfile; + std::string error = read_module_file(module_file_path_, modfile, modfile_bytes_); + if (!error.empty()) { + return "Failed to read module file: " + error; + } module_mapper_ = - module_mapper_t::create(directory_.modfile_bytes_, nullptr, nullptr, nullptr, - nullptr, knob_verbose_, knob_alt_module_dir_); + module_mapper_t::create(modfile_bytes_, nullptr, nullptr, nullptr, nullptr, + knob_verbose_, knob_alt_module_dir_); module_mapper_->get_loaded_modules(); + dr_close_file(modfile); error = module_mapper_->get_last_error(); if (!error.empty()) return "Failed to load binaries: " + error; @@ -110,6 +113,9 @@ opcode_mix_t::~opcode_mix_t() for (auto &iter : shard_map_) { delete iter.second; } + if (modfile_bytes_ != nullptr) { + delete[] modfile_bytes_; + } } bool diff --git a/clients/drcachesim/tools/opcode_mix.h b/clients/drcachesim/tools/opcode_mix.h index d67fd985855..e07e7997b81 100644 --- a/clients/drcachesim/tools/opcode_mix.h +++ b/clients/drcachesim/tools/opcode_mix.h @@ -46,7 +46,6 @@ #include "analysis_tool.h" #include "memref.h" #include "raw2trace.h" -#include "raw2trace_directory.h" #include "trace_entry.h" namespace dynamorio { @@ -185,9 +184,9 @@ class opcode_mix_t : public analysis_tool_t { std::string module_file_path_; std::unique_ptr module_mapper_; std::mutex mapper_mutex_; - // We reference directory.modfile_bytes throughout operation, so its lifetime - // must match ours. - raw2trace_directory_t directory_; + // XXX: Perhaps module_mapper_t should be made to own the cleanup of + // modfile_bytes_. + char *modfile_bytes_ = nullptr; std::unordered_map shard_map_; // This mutex is only needed in parallel_shard_init. In all other accesses to diff --git a/clients/drcachesim/tools/view.cpp b/clients/drcachesim/tools/view.cpp index 4728c5629d9..264b2797f78 100644 --- a/clients/drcachesim/tools/view.cpp +++ b/clients/drcachesim/tools/view.cpp @@ -53,7 +53,7 @@ #include "memref.h" #include "memtrace_stream.h" #include "raw2trace.h" -#include "raw2trace_directory.h" +#include "raw2trace_shared.h" #include "trace_entry.h" #include "utils.h" @@ -124,9 +124,12 @@ view_t::initialize_stream(memtrace_stream_t *serial_stream) if (module_file_path_.empty()) { has_modules_ = false; } else { - std::string error = directory_.initialize_module_file(module_file_path_); + file_t modfile; + std::string error = read_module_file(module_file_path_, modfile, modfile_bytes_); if (!error.empty()) has_modules_ = false; + else + dr_close_file(modfile); } if (!has_modules_) { // Continue but omit disassembly to support cases where binaries are @@ -136,8 +139,8 @@ view_t::initialize_stream(memtrace_stream_t *serial_stream) // Legacy trace support where binaries are needed. // We do not support non-module code for such traces. module_mapper_ = - module_mapper_t::create(directory_.modfile_bytes_, nullptr, nullptr, nullptr, - nullptr, knob_verbose_, knob_alt_module_dir_); + module_mapper_t::create(modfile_bytes_, nullptr, nullptr, nullptr, nullptr, + knob_verbose_, knob_alt_module_dir_); module_mapper_->get_loaded_modules(); std::string error = module_mapper_->get_last_error(); if (!error.empty()) @@ -662,5 +665,12 @@ view_t::print_results() return true; } +view_t::~view_t() +{ + if (modfile_bytes_ != nullptr) { + delete[] modfile_bytes_; + } +} + } // namespace drmemtrace } // namespace dynamorio diff --git a/clients/drcachesim/tools/view.h b/clients/drcachesim/tools/view.h index 30d5f033e14..4ba6d4102ed 100644 --- a/clients/drcachesim/tools/view.h +++ b/clients/drcachesim/tools/view.h @@ -1,5 +1,5 @@ /* ********************************************************** - * Copyright (c) 2018-2023 Google, Inc. All rights reserved. + * Copyright (c) 2018-2024 Google, Inc. All rights reserved. * **********************************************************/ /* @@ -47,7 +47,6 @@ #include "memref.h" #include "memtrace_stream.h" #include "raw2trace.h" -#include "raw2trace_directory.h" namespace dynamorio { namespace drmemtrace { @@ -61,6 +60,7 @@ class view_t : public analysis_tool_t { view_t(const std::string &module_file_path, uint64_t skip_refs, uint64_t sim_refs, const std::string &syntax, unsigned int verbose, const std::string &alt_module_dir = ""); + virtual ~view_t(); std::string initialize_stream(memtrace_stream_t *serial_stream) override; bool @@ -136,7 +136,9 @@ class view_t : public analysis_tool_t { // std::optional here. std::string module_file_path_; std::unique_ptr module_mapper_; - raw2trace_directory_t directory_; + // XXX: Perhaps module_mapper_t should be made to own the cleanup of + // modfile_bytes_. + char *modfile_bytes_ = nullptr; unsigned int knob_verbose_; int trace_version_; diff --git a/clients/drcachesim/tracer/raw2trace_directory.cpp b/clients/drcachesim/tracer/raw2trace_directory.cpp index cfd1880183e..fb9ec8b6b7b 100644 --- a/clients/drcachesim/tracer/raw2trace_directory.cpp +++ b/clients/drcachesim/tracer/raw2trace_directory.cpp @@ -1,5 +1,5 @@ /* ********************************************************** - * Copyright (c) 2017-2023 Google, Inc. All rights reserved. + * Copyright (c) 2017-2024 Google, Inc. All rights reserved. * **********************************************************/ /* @@ -56,6 +56,7 @@ #include "directory_iterator.h" #include "dr_api.h" // Must be after windows.h. #include "raw2trace_directory.h" // Includes dr_api.h which must be after windows.h. +#include "raw2trace_shared.h" #include "reader.h" #include "raw2trace.h" #include "record_file_reader.h" @@ -433,22 +434,6 @@ raw2trace_directory_t::open_cpu_schedule_file() #endif } -std::string -raw2trace_directory_t::read_module_file(const std::string &modfilename) -{ - modfile_ = dr_open_file(modfilename.c_str(), DR_FILE_READ); - if (modfile_ == INVALID_FILE) - return "Failed to open module file " + modfilename; - uint64 modfile_size; - if (!dr_file_size(modfile_, &modfile_size)) - return "Failed to get module file size: " + modfilename; - size_t modfile_size_ = (size_t)modfile_size; - modfile_bytes_ = new char[modfile_size_]; - if (dr_read_file(modfile_, modfile_bytes_, modfile_size_) < (ssize_t)modfile_size_) - return "Didn't read whole module file " + modfilename; - return ""; -} - bool raw2trace_directory_t::is_window_subdir(const std::string &dir) { @@ -553,7 +538,7 @@ raw2trace_directory_t::initialize(const std::string &indir, const std::string &o } std::string modfilename = modfile_dir + std::string(DIRSEP) + DRMEMTRACE_MODULE_LIST_FILENAME; - std::string err = read_module_file(modfilename); + std::string err = read_module_file(modfilename, modfile_, modfile_bytes_); if (!err.empty()) return err; @@ -604,12 +589,6 @@ raw2trace_directory_t::initialize(const std::string &indir, const std::string &o return open_thread_files(); } -std::string -raw2trace_directory_t::initialize_module_file(const std::string &module_file_path) -{ - return read_module_file(module_file_path); -} - std::string raw2trace_directory_t::initialize_funclist_file( const std::string &funclist_file_path, diff --git a/clients/drcachesim/tracer/raw2trace_directory.h b/clients/drcachesim/tracer/raw2trace_directory.h index 1d490c6c4c7..c8de4f30928 100644 --- a/clients/drcachesim/tracer/raw2trace_directory.h +++ b/clients/drcachesim/tracer/raw2trace_directory.h @@ -1,5 +1,5 @@ /* ********************************************************** - * Copyright (c) 2017-2023 Google, Inc. All rights reserved. + * Copyright (c) 2017-2024 Google, Inc. All rights reserved. * **********************************************************/ /* @@ -78,11 +78,6 @@ class raw2trace_directory_t { initialize(const std::string &indir, const std::string &outdir, const std::string &compress = DEFAULT_TRACE_COMPRESSION_TYPE, const std::string &syscall_template_file = ""); - // Use this instead of initialize() to only fill in modfile_bytes, for - // constructing a module_mapper_t. Returns "" on success or an error message on - // failure. - std::string - initialize_module_file(const std::string &module_file_path); // Use this instead of initialize() to only read the funcion map file. // Returns "" on success or an error message on failure. // On success, pushes the parsed entries from the file into "entries". @@ -115,8 +110,6 @@ class raw2trace_directory_t { std::string trace_suffix(); std::string - read_module_file(const std::string &modfilename); - std::string open_thread_files(); std::string open_thread_log_file(const char *basename); diff --git a/clients/drcachesim/tracer/raw2trace_shared.cpp b/clients/drcachesim/tracer/raw2trace_shared.cpp index 5421a400ed6..ca2b17e82b2 100644 --- a/clients/drcachesim/tracer/raw2trace_shared.cpp +++ b/clients/drcachesim/tracer/raw2trace_shared.cpp @@ -1,5 +1,5 @@ /* ********************************************************** - * Copyright (c) 2016-2023 Google, Inc. All rights reserved. + * Copyright (c) 2016-2024 Google, Inc. All rights reserved. * **********************************************************/ /* @@ -166,6 +166,30 @@ drmemtrace_get_timestamp_from_offline_trace(const void *trace, size_t trace_size return DRMEMTRACE_SUCCESS; } +std::string +read_module_file(const std::string &modfilename, file_t &modfile, char *&modfile_bytes) +{ + modfile = dr_open_file(modfilename.c_str(), DR_FILE_READ); + if (modfile == INVALID_FILE) + return "Failed to open module file " + modfilename; + uint64 modfile_size; + if (!dr_file_size(modfile, &modfile_size)) { + dr_close_file(modfile); + modfile = INVALID_FILE; + return "Failed to get module file size: " + modfilename; + } + size_t modfile_size_ = (size_t)modfile_size; + modfile_bytes = new char[modfile_size_]; + if (dr_read_file(modfile, modfile_bytes, modfile_size_) < (ssize_t)modfile_size_) { + dr_close_file(modfile); + delete[] modfile_bytes; + modfile = INVALID_FILE; + modfile_bytes = nullptr; + return "Didn't read whole module file " + modfilename; + } + return ""; +} + // The output range is really a segment and not the whole module. app_pc module_mapper_t::find_mapped_trace_bounds(app_pc trace_address, diff --git a/clients/drcachesim/tracer/raw2trace_shared.h b/clients/drcachesim/tracer/raw2trace_shared.h index 18b08f6dc43..47952f9e6f5 100644 --- a/clients/drcachesim/tracer/raw2trace_shared.h +++ b/clients/drcachesim/tracer/raw2trace_shared.h @@ -159,6 +159,26 @@ class memref_counter_t : public reader_t { std::list list_; }; +/** + * Reads the module file at the given \p modfilename path. Returns an + * empty string if successful, or the error string if not. + * + * This uses the DR file APIs to read the module file. Generally we + * attempt to isolate implementation that uses DR file APIs to + * raw2trace_directory_t, and have raw2trace and raw2trace_shared + * deal only with file streams, but we make an exception here. This + * is acceptable because no current users of read_module_file + * need to read it from a stream. Also, this is a simple convenience + * routine that only reads the file without any module file specific + * logic. + * + * If successful, the returned \p modfile must be closed using + * \p dr_close_file, and the returned \p modefilebytes must be freed + * using a delete[]. + */ +std::string +read_module_file(const std::string &modfilename, file_t &modfile, char *&modfile_bytes); + struct module_t { module_t(const char *path, app_pc orig, byte *map, size_t offs, size_t size, size_t total_size, bool external = false) diff --git a/make/DynamoRIOConfig.cmake.in b/make/DynamoRIOConfig.cmake.in old mode 100755 new mode 100644