From e2b4a15b2ce9912a8212c6871ac5e01f15e8b586 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Thu, 5 Dec 2024 05:28:23 -0800 Subject: [PATCH 1/2] Add decode/encode support for additional Intel cache management instructions. This covers the CLWB/CLDEMOTE extensions and the previously omitted CLFLUSHOPT instruction. Because these instructions explicitly forbid modrm.mod == 3 a sequence from the binutils tests that previously decoded as a nop but now would decode as a CLDEMOTE with modrm.mod == 3 is removed. --- core/ir/x86/decode_table.c | 47 ++- core/ir/x86/instr_create_api.h | 24 ++ core/ir/x86/opcode_api.h | 9 + suite/tests/api/ir_x86.c | 5 +- suite/tests/api/ir_x86_1args.h | 3 + .../test_decenc/drdecode_decenc_x86.expect | 275 ++++++++------- .../test_decenc/drdecode_decenc_x86_64.expect | 323 +++++++++--------- .../binutils/test_decenc/test_decenc_x86.asm | 1 - .../test_decenc/test_decenc_x86_64.asm | 1 - 9 files changed, 380 insertions(+), 308 deletions(-) diff --git a/core/ir/x86/decode_table.c b/core/ir/x86/decode_table.c index 67f4670c820..41bbfe4e5e5 100644 --- a/core/ir/x86/decode_table.c +++ b/core/ir/x86/decode_table.c @@ -380,7 +380,7 @@ const instr_info_t * const op_instr[] = /* OP_stmxcsr */ &e_vex_extensions[62][0], /* OP_lfence */ &mod_extensions[6][1], /* OP_mfence */ &mod_extensions[7][1], - /* OP_clflush */ &mod_extensions[3][0], + /* OP_clflush */ &prefix_extensions[194][0], /* OP_sfence */ &mod_extensions[3][1], /* OP_prefetchnta */ &base_extensions[23][0], /* OP_prefetcht0 */ &base_extensions[23][1], @@ -1655,6 +1655,15 @@ const instr_info_t * const op_instr[] = /* RDPID */ /* OP_rdpid */ &prefix_extensions[193][1], + + /* Not really part of CLWB but never got added earlier. */ + /* OP_clflushopt */ &prefix_extensions[194][2], + + /* CLWB */ + /* OP_clwb */ &mod_extensions[123][0], + + /* CLDEMOTE */ + /* OP_cldemote */ &second_byte[0x1c], }; @@ -2517,7 +2526,7 @@ const instr_info_t second_byte[] = { {OP_nop_modrm, 0x0f1910, catSIMD, "nop", xx, xx, Ed, xx, xx, mrm, x, END_LIST}, {PREFIX_EXT, 0x0f1a10, catUncategorized, "(prefix ext 186)", xx, xx, xx, xx, xx, mrm, x, 186}, {PREFIX_EXT, 0x0f1b10, catUncategorized, "(prefix ext 187)", xx, xx, xx, xx, xx, mrm, x, 187}, - {OP_nop_modrm, 0x0f1c10, catSIMD, "nop", xx, xx, Ed, xx, xx, mrm, x, END_LIST}, + {OP_cldemote, 0x0f1c30, catOther, "cldemote", xx, xx, Mb, xx, xx, mrm|reqp, x, END_LIST}, {OP_nop_modrm, 0x0f1d10, catSIMD, "nop", xx, xx, Ed, xx, xx, mrm, x, END_LIST}, {OP_nop_modrm, 0x0f1e10, catSIMD, "nop", xx, xx, Ed, xx, xx, mrm, x, END_LIST}, {OP_nop_modrm, 0x0f1f10, catSIMD, "nop", xx, xx, Ed, xx, xx, mrm, x, END_LIST}, @@ -5946,6 +5955,32 @@ const instr_info_t prefix_extensions[][12] = { {INVALID, 0xf30fc737, catUncategorized, "(bad)" , xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0x660fc737, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, {INVALID, 0xf20fc737, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* prefix extension 194 */ + {OP_clflush, 0x0fae37, catSIMD, "clflush", xx, xx, Mb, xx, xx, mrm, x, END_LIST}, + {INVALID, 0xf30fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {OP_clflushopt, 0x660fae37, catOther, "clflushopt", xx, xx, Mb, xx, xx, mrm, x, END_LIST}, + {INVALID, 0xf20fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x0fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf30fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x660fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf20fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x0fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf30fae37, catUncategorized, "(bad)" , xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x660fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf20fae37, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + },{ /* prefix extension 195 */ + {REX_W_EXT, 0x0fae36, catUncategorized, "(rex.w ext 4)", xx, xx, xx, xx, xx, mrm, x, 4}, + {INVALID, 0xf30fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {MOD_EXT, 0x660fae36, catUncategorized, "(mod ext 123)", xx, xx, xx, xx, xx, mrm, x, 123}, + {INVALID, 0xf20fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x0fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf30fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x660fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf20fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x0fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf30fae36, catUncategorized, "(bad)" , xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0x660fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, + {INVALID, 0xf20fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, NA}, } }; /**************************************************************************** @@ -6596,7 +6631,7 @@ const instr_info_t mod_extensions[][2] = { {RM_EXT, 0x0f0177, catUncategorized, "(group 7 mod + rm ext 2)", xx, xx, xx, xx, xx, mrm, x, 2}, }, { /* mod extension 3 */ - {OP_clflush, 0x0fae37, catSIMD, "clflush", xx, xx, Mb, xx, xx, mrm, x, END_LIST}, + {PREFIX_EXT, 0x0fae37, catUncategorized, "(prefix ext 194)", xx, xx, xx, xx, xx, no, x, 194}, {OP_sfence, 0xf80fae77, catStore | catSIMD, "sfence", xx, xx, xx, xx, xx, mrm, x, END_LIST}, }, { /* mod extension 4 */ @@ -6613,7 +6648,7 @@ const instr_info_t mod_extensions[][2] = { {OP_lfence, 0xe80fae75, catLoad, "lfence", xx, xx, xx, xx, xx, mrm, x, END_LIST}, }, { /* mod extension 7 */ - {REX_W_EXT, 0x0fae36, catUncategorized, "(rex.w ext 4)", xx, xx, xx, xx, xx, mrm, x, 4}, + {PREFIX_EXT, 0x0fae36, catUncategorized, "(prefix ext 195)", xx, xx, xx, xx, xx, no, x, 195}, {OP_mfence, 0xf00fae76, catUncategorized, "mfence", xx, xx, xx, xx, xx, mrm, x, END_LIST}, }, { /* mod extension 8 */ @@ -7084,6 +7119,10 @@ const instr_info_t mod_extensions[][2] = { {OP_enqcmd, 0xf238f808, catMove | catOther, "enqcmd", GesvS_oq, xx, Moq, xx, xx, mrm, fW6, END_LIST}, {INVALID, 0xf238f808, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, END_LIST}, }, + { /* mod extension 123 */ + {OP_clwb, 0x660fae36, catOther, "clwb", xx, xx, Mb, xx, xx, mrm, no, END_LIST}, + {INVALID, 0x660fae36, catUncategorized, "(bad)", xx, xx, xx, xx, xx, no, x, END_LIST}, + }, }; /* Naturally all of these have modrm bytes even if they have no explicit operands */ diff --git a/core/ir/x86/instr_create_api.h b/core/ir/x86/instr_create_api.h index 3a274ff2da4..d7576aa5fde 100644 --- a/core/ir/x86/instr_create_api.h +++ b/core/ir/x86/instr_create_api.h @@ -697,6 +697,30 @@ * created with OPND_CREATE_MEM_clflush() to get the appropriate operand size. */ #define INSTR_CREATE_clflush(dc, s) instr_create_0dst_1src((dc), OP_clflush, (s)) +/** + * This INSTR_CREATE_xxx macro creates an instr_t with opcode OP_xxx and + * the given explicit operands, automatically supplying any implicit operands. + * \param dc The void * dcontext used to allocate memory for the instr_t. + * \param s The opnd_t explicit source operand for the instruction, which can be + * created with OPND_CREATE_MEM_clflush() to get the appropriate operand size. + */ +#define INSTR_CREATE_clflushopt(dc, s) instr_create_0dst_1src((dc), OP_clflushopt, (s)) +/** + * This INSTR_CREATE_xxx macro creates an instr_t with opcode OP_xxx and + * the given explicit operands, automatically supplying any implicit operands. + * \param dc The void * dcontext used to allocate memory for the instr_t. + * \param s The opnd_t explicit source operand for the instruction, which can be + * created with OPND_CREATE_MEM_clflush() to get the appropriate operand size. + */ +#define INSTR_CREATE_clwb(dc, s) instr_create_0dst_1src((dc), OP_clwb, (s)) +/** + * This INSTR_CREATE_xxx macro creates an instr_t with opcode OP_xxx and + * the given explicit operands, automatically supplying any implicit operands. + * \param dc The void * dcontext used to allocate memory for the instr_t. + * \param s The opnd_t explicit source operand for the instruction, which can be + * created with OPND_CREATE_MEM_clflush() to get the appropriate operand size. + */ +#define INSTR_CREATE_cldemote(dc, s) instr_create_0dst_1src((dc), OP_cldemote, (s)) /** * This INSTR_CREATE_xxx macro creates an instr_t with opcode OP_xxx and the * given explicit operands, automatically supplying any implicit operands. diff --git a/core/ir/x86/opcode_api.h b/core/ir/x86/opcode_api.h index d51125a717a..12611e56495 100644 --- a/core/ir/x86/opcode_api.h +++ b/core/ir/x86/opcode_api.h @@ -1642,6 +1642,15 @@ enum { /* RDPID */ /* 1448 */ OP_rdpid, /**< IA-32/AMD64 rdpid opcode. */ + /* Not really part of CLWB but never got added earlier. */ + /* 1449 */ OP_clflushopt, /**< IA-32/AMD64 clflushopt opcode. */ + + /* CLWB */ + /* 1450 */ OP_clwb, /**< IA-32/AMD64 clwb opcode. */ + + /* CLDEMOTE */ + /* 1451 */ OP_cldemote, /**< IA-32/AMD64 cldemote 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.c b/suite/tests/api/ir_x86.c index d14cd66f654..8bb5e35e319 100644 --- a/suite/tests/api/ir_x86.c +++ b/suite/tests/api/ir_x86.c @@ -1293,9 +1293,10 @@ test_hint_nops(void *dc) /* other types of hintable nop [eax] */ buf[2] = 0x00; for (buf[1] = 0x19; buf[1] <= 0x1f; buf[1]++) { - /* Intel is using these encodings now for the MPX instructions bndldx and bndstx. + /* Intel is using these encodings now for the MPX instructions bndldx and bndstx, + * and cldemote. */ - if (buf[1] == 0x1a || buf[1] == 0x1b) + if (buf[1] == 0x1a || buf[1] == 0x1b || buf[1] == 0x1c) continue; pc = decode(dc, buf, instr); ASSERT(instr_get_opcode(instr) == OP_nop_modrm); diff --git a/suite/tests/api/ir_x86_1args.h b/suite/tests/api/ir_x86_1args.h index abf35f5479e..94d3990b211 100644 --- a/suite/tests/api/ir_x86_1args.h +++ b/suite/tests/api/ir_x86_1args.h @@ -122,6 +122,9 @@ OPCODE(xsaveopt32, xsaveopt32, xsaveopt32, 0, MEMARG(OPSZ_xsave)) OPCODE(xsaveopt64, xsaveopt64, xsaveopt64, X64_ONLY, MEMARG(OPSZ_xsave)) OPCODE(xsavec32, xsavec32, xsavec32, 0, MEMARG(OPSZ_xsave)) OPCODE(xsavec64, xsavec64, xsavec64, X64_ONLY, MEMARG(OPSZ_xsave)) +OPCODE(clflushopt, clflushopt, clflushopt, 0, MEMARG(OPSZ_clflush)) +OPCODE(clwb, clwb, clwb, 0, MEMARG(OPSZ_clflush)) +OPCODE(cldemote, cldemote, cldemote, 0, MEMARG(OPSZ_clflush)) /****************************************************************************/ /* single immed argument */ diff --git a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect index 492e8f0cca0..f19d0f2e368 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86.expect @@ -451,14 +451,14 @@ test_s: f3 0f 38 f6 ca adox %edx, %ecx 0f c7 f8 rdseed %eax 0f c7 21 xsavec (%ecx) - 66 0f ae 39 data16 clflush (%ecx) + 66 0f ae 39 clflushopt (%ecx) 0f 01 fa monitorx 67 0f 01 fa addr16 monitorx 0f 01 fa monitorx 0f 01 fb mwaitx 0f 01 fb mwaitx - 66 0f ae 31 data16 xsaveopt (%ecx) - 66 0f ae b4 f4 c0 1d data16 xsaveopt -0x0001e240(%esp,%esi,8) + 66 0f ae 31 clwb (%ecx) + 66 0f ae b4 f4 c0 1d clwb -0x0001e240(%esp,%esi,8) fe ff f3 0f c7 f8 rdpid %eax f3 0f 09 wbinvd @@ -66431,11 +66431,11 @@ test_s: 90 nop 90 nop 90 nop - 0f 1c 01 nop (%ecx) - 0f 1c 84 f4 c0 1d fe nop -0x0001e240(%esp,%esi,8) + 0f 1c 01 cldemote (%ecx) + 0f 1c 84 f4 c0 1d fe cldemote -0x0001e240(%esp,%esi,8) ff - 0f 1c 01 nop (%ecx) - 0f 1c 84 f4 c0 1d fe nop -0x0001e240(%esp,%esi,8) + 0f 1c 01 cldemote (%ecx) + 0f 1c 84 f4 c0 1d fe cldemote -0x0001e240(%esp,%esi,8) ff 90 nop 90 nop @@ -66453,11 +66453,11 @@ test_s: 90 nop 90 nop 90 nop - 66 0f ae 39 data16 clflush (%ecx) - 66 0f ae bc f4 c0 1d data16 clflush -0x0001e240(%esp,%esi,8) + 66 0f ae 39 clflushopt (%ecx) + 66 0f ae bc f4 c0 1d clflushopt -0x0001e240(%esp,%esi,8) fe ff - 66 0f ae 39 data16 clflush (%ecx) - 66 0f ae bc f4 c0 1d data16 clflush -0x0001e240(%esp,%esi,8) + 66 0f ae 39 clflushopt (%ecx) + 66 0f ae bc f4 c0 1d clflushopt -0x0001e240(%esp,%esi,8) fe ff 90 nop 90 nop @@ -66511,11 +66511,11 @@ test_s: 90 nop 90 nop 90 nop - 66 0f ae 31 data16 xsaveopt (%ecx) - 66 0f ae b4 f4 c0 1d data16 xsaveopt -0x0001e240(%esp,%esi,8) + 66 0f ae 31 clwb (%ecx) + 66 0f ae b4 f4 c0 1d clwb -0x0001e240(%esp,%esi,8) fe ff - 66 0f ae 31 data16 xsaveopt (%ecx) - 66 0f ae b4 f4 c0 1d data16 xsaveopt -0x0001e240(%esp,%esi,8) + 66 0f ae 31 clwb (%ecx) + 66 0f ae b4 f4 c0 1d clwb -0x0001e240(%esp,%esi,8) fe ff 90 nop 90 nop @@ -74505,18 +74505,17 @@ test_s: 66 2e 0f 1f 84 00 00 data16 nop %cs:0x00000000(%eax,%eax) 00 00 00 0f 19 ff nop %edi - 0f 1c ff nop %edi 0f 1d ff nop %edi 0f 1e ff nop %edi 0f 1f ff nop %edi 0f 19 5a 22 nop 0x22(%edx) - 0f 1c 5a 22 nop 0x22(%edx) + 0f 1c 5a 22 cldemote 0x22(%edx) 0f 1d 5a 22 nop 0x22(%edx) 0f 1e 5a 22 nop 0x22(%edx) 0f 1f 5a 22 nop 0x22(%edx) 0f 19 9c 1d 11 22 33 nop 0x44332211(%ebp,%ebx) 44 - 0f 1c 9c 1d 11 22 33 nop 0x44332211(%ebp,%ebx) + 0f 1c 9c 1d 11 22 33 cldemote 0x44332211(%ebp,%ebx) 44 0f 1d 9c 1d 11 22 33 nop 0x44332211(%ebp,%ebx) 44 @@ -74525,12 +74524,12 @@ test_s: 0f 1f 9c 1d 11 22 33 nop 0x44332211(%ebp,%ebx) 44 0f 19 04 60 nop (%eax) - 0f 1c 0c 60 nop (%eax) + 0f 1c 0c 60 cldemote (%eax) 0f 1d 04 60 nop (%eax) 0f 1e 04 60 nop (%eax) 0f 1f 04 60 nop (%eax) 0f 19 04 59 nop (%ecx,%ebx,2) - 0f 1c 0c 59 nop (%ecx,%ebx,2) + 0f 1c 0c 59 cldemote (%ecx,%ebx,2) 0f 1d 04 59 nop (%ecx,%ebx,2) 0f 1e 04 59 nop (%ecx,%ebx,2) 0f 1f 04 59 nop (%ecx,%ebx,2) @@ -74558,7 +74557,7 @@ test_s: 90 nop 90 nop 90 nop - eb 1d jmp $0x10022c0e + eb 1d jmp $0x10022c0b 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 @@ -74567,7 +74566,7 @@ test_s: 00 8d b4 00 00 90 add %cl, -0x6fffff4c(%ebp) 90 nop 90 nop - eb 1c jmp $0x10022c2e + eb 1c jmp $0x10022c2b 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 @@ -74575,7 +74574,7 @@ test_s: b4 00 mov $0x00, %ah 00 8d b4 00 90 90 add %cl, -0x6f6fff4c(%ebp) 90 nop - eb 1b jmp $0x10022c4d + eb 1b jmp $0x10022c4a 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 @@ -74584,7 +74583,7 @@ test_s: 00 8d 74 00 90 90 add %cl, -0x6f6fff8c(%ebp) 90 nop 90 nop - eb 1a jmp $0x10022c6d + eb 1a jmp $0x10022c6a 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 @@ -74596,7 +74595,7 @@ test_s: 90 nop 90 nop 90 nop - eb 19 jmp $0x10022c8d + eb 19 jmp $0x10022c8a 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 @@ -74605,7 +74604,7 @@ test_s: 00 90 90 90 90 90 add %dl, -0x6f6f6f70(%eax) 90 nop 90 nop - eb 18 jmp $0x10022cad + eb 18 jmp $0x10022caa 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 @@ -74618,12 +74617,12 @@ test_s: 90 nop 90 nop 90 nop - eb 17 jmp $0x10022ccc + eb 17 jmp $0x10022cc9 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 $0x10022ccc + 74 00 jz $0x10022cc9 90 nop 90 nop 90 nop @@ -74632,7 +74631,7 @@ test_s: 90 nop 90 nop 90 nop - eb 16 jmp $0x10022cec + eb 16 jmp $0x10022ce9 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 @@ -74647,7 +74646,7 @@ test_s: 90 nop 90 nop 90 nop - eb 15 jmp $0x10022d0c + eb 15 jmp $0x10022d09 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 @@ -74662,7 +74661,7 @@ test_s: 90 nop 90 nop 90 nop - eb 14 jmp $0x10022d2c + eb 14 jmp $0x10022d29 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 @@ -74676,7 +74675,7 @@ test_s: 90 nop 90 nop 90 nop - eb 13 jmp $0x10022d4b + eb 13 jmp $0x10022d48 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 @@ -74691,7 +74690,7 @@ test_s: 90 nop 90 nop 90 nop - eb 12 jmp $0x10022d6b + eb 12 jmp $0x10022d68 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 @@ -74709,7 +74708,7 @@ test_s: 90 nop 90 nop 90 nop - eb 11 jmp $0x10022d8b + eb 11 jmp $0x10022d88 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 @@ -74724,7 +74723,7 @@ test_s: 90 nop 90 nop 90 nop - eb 10 jmp $0x10022dab + eb 10 jmp $0x10022da8 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 @@ -74743,10 +74742,10 @@ test_s: 90 nop 90 nop 90 nop - eb 0f jmp $0x10022dca + eb 0f jmp $0x10022dc7 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 $0x10022dca + 74 00 jz $0x10022dc7 90 nop 90 nop 90 nop @@ -74763,26 +74762,26 @@ test_s: 90 nop 90 nop 90 nop - eb 0e jmp $0x10022dea + eb 0e jmp $0x10022de7 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 $0x10022dfa + eb 0d jmp $0x10022df7 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 $0x10022e0a + eb 0c jmp $0x10022e07 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 $0x10022e19 + eb 0b jmp $0x10022e16 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 $0x10022e29 + eb 0a jmp $0x10022e26 8d b4 00 00 8d b4 00 lea 0x00b48d00(%eax,%eax), %esi 00 66 90 add %ah, -0x70(%esi) 90 nop @@ -75125,22 +75124,22 @@ test_s: 6d insd 6e outsb 6f outsd - 70 90 jo $0x100230be - 71 90 jno $0x100230c0 - 72 90 jb $0x100230c2 - 73 90 jnb $0x100230c4 - 74 90 jz $0x100230c6 - 75 90 jnz $0x100230c8 - 76 90 jbe $0x100230ca - 77 90 jnbe $0x100230cc - 78 90 js $0x100230ce - 79 90 jns $0x100230d0 - 7a 90 jp $0x100230d2 - 7b 90 jnp $0x100230d4 - 7c 90 jl $0x100230d6 - 7d 90 jnl $0x100230d8 - 7e 90 jle $0x100230da - 7f 90 jnle $0x100230dc + 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 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 @@ -75237,18 +75236,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 $0x1002323b - e1 90 loope $0x1002323d - e2 90 loop $0x1002323f - e3 90 jecxz $0x10023241 + e0 90 loopne $0x10023238 + e1 90 loope $0x1002323a + e2 90 loop $0x1002323c + e3 90 jecxz $0x1002323e 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 $0xa092c34e - e9 90 90 90 90 jmp $0xa092c353 + e8 90 90 90 90 call $0xa092c34b + e9 90 90 90 90 jmp $0xa092c350 ea 90 90 90 90 90 90 ljmp 0x9090:0x90909090 - eb 90 jmp $0x1002325c + eb 90 jmp $0x10023259 ec in %dx ed in %dx, %eax ee out %al, %dx @@ -75319,22 +75318,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 $0xa092c4bb - 0f 81 90 90 90 90 jno $0xa092c4c1 - 0f 82 90 90 90 90 jb $0xa092c4c7 - 0f 83 90 90 90 90 jnb $0xa092c4cd - 0f 84 90 90 90 90 jz $0xa092c4d3 - 0f 85 90 90 90 90 jnz $0xa092c4d9 - 0f 86 90 90 90 90 jbe $0xa092c4df - 0f 87 90 90 90 90 jnbe $0xa092c4e5 - 0f 88 90 90 90 90 js $0xa092c4eb - 0f 89 90 90 90 90 jns $0xa092c4f1 - 0f 8a 90 90 90 90 jp $0xa092c4f7 - 0f 8b 90 90 90 90 jnp $0xa092c4fd - 0f 8c 90 90 90 90 jl $0xa092c503 - 0f 8d 90 90 90 90 jnl $0xa092c509 - 0f 8e 90 90 90 90 jle $0xa092c50f - 0f 8f 90 90 90 90 jnle $0xa092c515 + 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 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) @@ -75549,7 +75548,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 $0x0000c8f1 + 66 e8 8f 90 data16 call $0x0000c8ee 66 ea 90 90 90 90 data16 ljmp 0x9090:0x00009090 66 ed data16 in %dx, %ax 66 ef data16 out %ax, %dx @@ -76008,44 +76007,44 @@ test_s: 90 nop 90 nop 90 nop - e9 30 12 00 00 jmp $0x10024fd2 - e9 fc ff ff ff jmp $0x10023da3 - e9 fc ff ff ff jmp $0x10023da8 - e9 fc ff ff ff jmp $0x10023dad - eb ea jmp $0x10023d9d - eb ed jmp $0x10023da2 - e9 72 98 00 00 jmp $0x1002d62c - e9 de 00 00 00 jmp $0x10023e9d - e9 de 00 00 00 jmp $0x10023ea2 - e9 fc ff ff ff jmp $0x10023dc5 - e9 00 00 00 00 jmp $0x10023dce - e9 fc ff ff ff jmp $0x10023dcf - e9 c8 ed ff ff jmp $0x10022ba0 - e9 c8 ed ff ff jmp $0x10022ba5 - e9 c8 ed ff ff jmp $0x10022baa - e9 82 ed ff ff jmp $0x10022b69 - e9 82 ed ff ff jmp $0x10022b6e - e9 3e 86 00 00 jmp $0x1002c42f - e9 73 ee ff ff jmp $0x10022c69 - e9 73 ee ff ff jmp $0x10022c6e - e9 c8 ed ff ff jmp $0x10022bc8 - e9 cc ed ff ff jmp $0x10022bd1 - e9 ba 79 ff ff jmp $0x1001b7c4 - e9 86 67 ff ff jmp $0x1001a595 - e9 86 67 ff ff jmp $0x1001a59a - e9 86 67 ff ff jmp $0x1001a59f - e9 09 67 ff ff jmp $0x1001a527 - e9 09 67 ff ff jmp $0x1001a52c - e9 fc ff ff ff jmp $0x10023e24 - e9 fa 67 ff ff jmp $0x1001a627 - e9 fa 67 ff ff jmp $0x1001a62c - e9 86 67 ff ff jmp $0x1001a5bd - e9 8a 67 ff ff jmp $0x1001a5c6 - e9 fc 00 00 00 jmp $0x10023f3d - e9 01 00 00 00 jmp $0x10023e47 - e9 01 ff ff ff jmp $0x10023d4c - e9 01 01 00 00 jmp $0x10023f51 - e9 01 00 00 00 jmp $0x10023e56 + 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 90 nop 90 nop 90 nop @@ -76062,7 +76061,7 @@ test_s: 90 nop 90 nop 90 nop - eb 02 jmp $0x10023e69 + eb 02 jmp $0x10023e66 89 c0 mov %eax, %eax 90 nop 90 nop @@ -76081,7 +76080,7 @@ test_s: 90 nop 90 nop 90 nop - eb fd jmp $0x10023e79 + eb fd jmp $0x10023e76 90 nop 90 nop 90 nop @@ -76320,7 +76319,7 @@ test_s: 90 nop 90 nop 90 nop - e9 8d 00 00 00 jmp $0x10024143 + e9 8d 00 00 00 jmp $0x10024140 90 nop 90 nop 90 nop @@ -76335,7 +76334,7 @@ test_s: 90 nop 90 nop 90 nop - eb 7d jmp $0x10024143 + eb 7d jmp $0x10024140 90 nop 90 nop 90 nop @@ -76471,8 +76470,8 @@ test_s: 90 nop 90 nop 90 nop - eb 14 jmp $0x1002416c - eb 12 jmp $0x1002416c + eb 14 jmp $0x10024169 + eb 12 jmp $0x10024169 41 inc %ecx 42 inc %edx 43 inc %ebx @@ -76486,7 +76485,7 @@ test_s: 00 00 add %al, (%eax) 00 00 add %al, (%eax) 00 00 add %al, (%eax) - eb 00 jmp $0x1002416d + eb 00 jmp $0x1002416a 90 nop 90 nop 90 nop @@ -76541,8 +76540,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 $0x100241e2 - e3 ff jecxz $0x100241e7 + e8 fc ff ff ff call $0x100241df + e3 ff jecxz $0x100241e4 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 @@ -76551,7 +76550,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 $0x10024214 + e8 fc ff ff ff call $0x10024211 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 @@ -76669,12 +76668,12 @@ test_s: 90 nop 90 nop c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x10024334 - c7 f8 00 00 00 00 xbegin $0x10024340 + c7 f8 fa ff ff ff xbegin $0x10024331 + c7 f8 00 00 00 00 xbegin $0x1002433d 0f 01 d5 xend c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x10024346 - c7 f8 00 00 00 00 xbegin $0x10024352 + c7 f8 fa ff ff ff xbegin $0x10024343 + c7 f8 00 00 00 00 xbegin $0x1002434f 0f 01 d5 xend 0f 01 d6 xtest 90 nop @@ -79500,13 +79499,13 @@ test_s: 89 e5 mov %esp, %ebp 53 push %ebx 50 push %eax - e8 00 00 00 00 call $0x10026f4c + e8 00 00 00 00 call $0x10026f49 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 $0x10026f5b + e8 fc ff ff ff call $0x10026f58 8d 83 00 00 00 00 lea 0x00000000(%ebx), %eax - e8 fc ff ff ff call $0x10026f66 + e8 fc ff ff ff call $0x10026f63 83 c7 00 add $0x00, %edi 8d 90 00 00 00 00 lea 0x00000000(%eax), %edx 83 c6 00 add $0x00, %esi @@ -79570,7 +79569,7 @@ test_s: 89 e5 mov %esp, %ebp 53 push %ebx 50 push %eax - e8 00 00 00 00 call $0x10027007 + e8 00 00 00 00 call $0x10027004 5b pop %ebx 81 c3 03 00 00 00 add $0x00000003, %ebx 65 a1 00 00 00 00 mov %gs:0x00, %eax 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 5c6055bf835..0c9886154db 100644 --- a/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect +++ b/third_party/binutils/test_decenc/drdecode_decenc_x86_64.expect @@ -184,14 +184,14 @@ test_x86_64_s: f3 0f 38 f6 ca adox %edx, %ecx 0f c7 f8 rdseed %eax 48 0f c7 21 xsavec64 (%rcx) - 48 66 0f ae 39 data16 clflush (%rcx) + 48 66 0f ae 39 clflushopt (%rcx) 0f 01 fa monitorx 67 0f 01 fa addr32 monitorx 0f 01 fa monitorx 0f 01 fb mwaitx 0f 01 fb mwaitx - 66 0f ae 31 data16 xsaveopt (%rcx) - 66 42 0f ae b4 f0 23 data16 xsaveopt 0x00000123(%rax,%r14,8) + 66 0f ae 31 clwb (%rcx) + 66 42 0f ae b4 f0 23 clwb 0x00000123(%rax,%r14,8) 01 00 00 f3 0f c7 f8 rdpid %rax f3 41 0f c7 fa rdpid %r10 @@ -31377,17 +31377,17 @@ test_x86_64_s: 66 48 99 cdq 00 00 add %al, (%rax) 00 00 add %al, (%rax) - 0f 1c 01 nop (%rcx) - 42 0f 1c 84 f0 23 01 nop 0x00000123(%rax,%r14,8) + 0f 1c 01 cldemote (%rcx) + 42 0f 1c 84 f0 23 01 cldemote 0x00000123(%rax,%r14,8) 00 00 - 0f 1c 01 nop (%rcx) - 42 0f 1c 84 f0 34 12 nop 0x00001234(%rax,%r14,8) + 0f 1c 01 cldemote (%rcx) + 42 0f 1c 84 f0 34 12 cldemote 0x00001234(%rax,%r14,8) 00 00 - 66 0f ae 39 data16 clflush (%rcx) - 66 42 0f ae bc f0 23 data16 clflush 0x00000123(%rax,%r14,8) + 66 0f ae 39 clflushopt (%rcx) + 66 42 0f ae bc f0 23 clflushopt 0x00000123(%rax,%r14,8) 01 00 00 - 66 0f ae 39 data16 clflush (%rcx) - 66 42 0f ae bc f0 34 data16 clflush 0x00001234(%rax,%r14,8) + 66 0f ae 39 clflushopt (%rcx) + 66 42 0f ae bc f0 34 clflushopt 0x00001234(%rax,%r14,8) 12 00 00 66 0f 3a 44 01 08 pclmulqdq (%rcx), $0x08, %xmm0 66 0f 3a 44 c1 08 pclmulqdq %xmm1, $0x08, %xmm0 @@ -31409,11 +31409,11 @@ test_x86_64_s: 66 0f 3a 44 c1 10 pclmulqdq %xmm1, $0x10, %xmm0 66 0f 3a 44 01 11 pclmulqdq (%rcx), $0x11, %xmm0 66 0f 3a 44 c1 11 pclmulqdq %xmm1, $0x11, %xmm0 - 66 0f ae 31 data16 xsaveopt (%rcx) - 66 42 0f ae b4 f0 23 data16 xsaveopt 0x00000123(%rax,%r14,8) + 66 0f ae 31 clwb (%rcx) + 66 42 0f ae b4 f0 23 clwb 0x00000123(%rax,%r14,8) 01 00 00 - 66 0f ae 31 data16 xsaveopt (%rcx) - 66 42 0f ae b4 f0 34 data16 xsaveopt 0x00001234(%rax,%r14,8) + 66 0f ae 31 clwb (%rcx) + 66 42 0f ae b4 f0 34 clwb 0x00001234(%rax,%r14,8) 12 00 00 f2 0f 38 f0 06 crc32 (%rsi), %eax f2 48 0f 38 f0 06 crc32 (%rsi), %rax @@ -34746,18 +34746,17 @@ test_x86_64_s: 66 2e 0f 1f 84 00 00 data16 nop 0x00000000(%rax,%rax) 00 00 00 0f 19 ff nop %edi - 0f 1c ff nop %edi 0f 1d ff nop %edi 0f 1e ff nop %edi 0f 1f ff nop %edi 0f 19 5a 22 nop 0x22(%rdx) - 0f 1c 5a 22 nop 0x22(%rdx) + 0f 1c 5a 22 cldemote 0x22(%rdx) 0f 1d 5a 22 nop 0x22(%rdx) 0f 1e 5a 22 nop 0x22(%rdx) 0f 1f 5a 22 nop 0x22(%rdx) 0f 19 9c 1d 11 22 33 nop 0x44332211(%rbp,%rbx) 44 - 0f 1c 9c 1d 11 22 33 nop 0x44332211(%rbp,%rbx) + 0f 1c 9c 1d 11 22 33 cldemote 0x44332211(%rbp,%rbx) 44 0f 1d 9c 1d 11 22 33 nop 0x44332211(%rbp,%rbx) 44 @@ -34766,12 +34765,12 @@ test_x86_64_s: 0f 1f 9c 1d 11 22 33 nop 0x44332211(%rbp,%rbx) 44 0f 19 04 60 nop (%rax) - 0f 1c 0c 60 nop (%rax) + 0f 1c 0c 60 cldemote (%rax) 0f 1d 04 60 nop (%rax) 0f 1e 04 60 nop (%rax) 0f 1f 04 60 nop (%rax) 0f 19 04 59 nop (%rcx,%rbx,2) - 0f 1c 0c 59 nop (%rcx,%rbx,2) + 0f 1c 0c 59 cldemote (%rcx,%rbx,2) 0f 1d 04 59 nop (%rcx,%rbx,2) 0f 1e 04 59 nop (%rcx,%rbx,2) 0f 1f 04 59 nop (%rcx,%rbx,2) @@ -34902,11 +34901,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 $0x0000000010014e46 - e2 fe loop $0x0000000010014e48 - 67 e2 fd addr32 loop $0x0000000010014e4a - e3 fe jrcxz $0x0000000010014e4d - 67 e3 fd addr32 jecxz $0x0000000010014e4f + e2 fe loop $0x0000000010014e43 + e2 fe loop $0x0000000010014e45 + 67 e2 fd addr32 loop $0x0000000010014e47 + e3 fe jrcxz $0x0000000010014e4a + 67 e3 fd addr32 jecxz $0x0000000010014e4c 41 f6 38 idiv (%r8), %ax f6 38 idiv (%rax), %ax 66 41 f7 38 data16 idiv (%r8), %dx, %ax @@ -35580,14 +35579,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 $0x0000000010015a4c + 0f 84 6b 02 00 00 jz $0x0000000010015a49 90 nop 90 nop 90 nop 90 nop 90 nop 90 nop - 0f 84 5f 02 00 00 jz $0x0000000010015a4c + 0f 84 5f 02 00 00 jz $0x0000000010015a49 90 nop 90 nop 90 nop @@ -35722,12 +35721,12 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 74 ff ff ff jz $0x00000000100157ed + 0f 84 74 ff ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop 90 nop - 0f 84 6a ff ff ff jz $0x00000000100157ed + 0f 84 6a ff ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35736,7 +35735,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 bb 01 00 00 jz $0x0000000010015a4c + 0f 84 bb 01 00 00 jz $0x0000000010015a49 90 nop 90 nop 90 nop @@ -35747,24 +35746,24 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 4c ff ff ff jz $0x00000000100157ed + 0f 84 4c ff ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop 90 nop - 0f 84 42 ff ff ff jz $0x00000000100157ed + 0f 84 42 ff ff ff jz $0x00000000100157ea 4c 8b b4 24 30 01 00 mov 0x00000130(%rsp), %r14 00 90 nop 90 nop - 0f 84 32 ff ff ff jz $0x00000000100157ed - 0f 84 2c ff ff ff jz $0x00000000100157ed + 0f 84 32 ff ff ff jz $0x00000000100157ea + 0f 84 2c ff ff ff jz $0x00000000100157ea 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 $0x0000000010015a4c + 0f 84 7a 01 00 00 jz $0x0000000010015a49 90 nop 90 nop 90 nop @@ -35775,7 +35774,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 0b ff ff ff jz $0x00000000100157ed + 0f 84 0b ff ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35789,18 +35788,18 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 f8 fe ff ff jz $0x00000000100157ed + 0f 84 f8 fe ff ff jz $0x00000000100157ea 48 8d b4 24 b0 01 00 lea 0x000001b0(%rsp), %rsi 00 - 0f 84 ea fe ff ff jz $0x00000000100157ed + 0f 84 ea fe ff ff jz $0x00000000100157ea 4c 8b b4 24 b0 00 00 mov 0xb0(%rsp), %r14 00 - 0f 84 3b 01 00 00 jz $0x0000000010015a4c - 0f 84 d6 fe ff ff jz $0x00000000100157ed - 0f 84 d0 fe ff ff jz $0x00000000100157ed + 0f 84 3b 01 00 00 jz $0x0000000010015a49 + 0f 84 d6 fe ff ff jz $0x00000000100157ea + 0f 84 d0 fe ff ff jz $0x00000000100157ea 48 8d b4 24 a8 01 00 lea 0x000001a8(%rsp), %rsi 00 - 0f 84 c2 fe ff ff jz $0x00000000100157ed + 0f 84 c2 fe ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35823,7 +35822,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 a6 fe ff ff jz $0x00000000100157ed + 0f 84 a6 fe ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35835,10 +35834,10 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 95 fe ff ff jz $0x00000000100157ed + 0f 84 95 fe ff ff jz $0x00000000100157ea 48 8d b4 24 a0 01 00 lea 0x000001a0(%rsp), %rsi 00 - 0f 84 87 fe ff ff jz $0x00000000100157ed + 0f 84 87 fe ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35860,7 +35859,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 cb 00 00 00 jz $0x0000000010015a4c + 0f 84 cb 00 00 00 jz $0x0000000010015a49 90 nop 90 nop 90 nop @@ -35869,7 +35868,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 5e fe ff ff jz $0x00000000100157ed + 0f 84 5e fe ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35881,7 +35880,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 4d fe ff ff jz $0x00000000100157ed + 0f 84 4d fe ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35889,7 +35888,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 40 fe ff ff jz $0x00000000100157ed + 0f 84 40 fe ff ff jz $0x00000000100157ea 90 nop 90 nop 90 nop @@ -35912,7 +35911,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 83 00 00 00 jz $0x0000000010015a4c + 0f 84 83 00 00 00 jz $0x0000000010015a49 90 nop 90 nop 90 nop @@ -36052,13 +36051,13 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 24 01 00 00 jz $0x0000000010015b90 + 0f 84 24 01 00 00 jz $0x0000000010015b8d 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 $0x0000000010015b90 + 0f 84 0d 01 00 00 jz $0x0000000010015b8d 90 nop 90 nop 90 nop @@ -36096,7 +36095,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 e2 00 00 00 jz $0x0000000010015b90 + 0f 84 e2 00 00 00 jz $0x0000000010015b8d 90 nop 90 nop 90 nop @@ -36156,7 +36155,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 0f 84 a1 00 00 00 jz $0x0000000010015b90 + 0f 84 a1 00 00 00 jz $0x0000000010015b8d 90 nop 90 nop 90 nop @@ -36225,7 +36224,7 @@ test_x86_64_s: 90 nop 90 nop 90 nop - 74 06 jz $0x0000000010015b3b + 74 06 jz $0x0000000010015b38 66 0f 1f 44 00 00 data16 nop 0x00(%rax,%rax) 90 nop 90 nop @@ -36377,17 +36376,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 0x0000000010015c51, %eax - 8d 05 11 11 11 11 lea 0x0000000021126d68, %eax - 8d 05 01 00 00 00 lea 0x0000000010015c5e, %eax - 8d 05 00 00 00 00 lea 0x0000000010015c63, %eax + 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 c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x0000000010015c66 - c7 f8 00 00 00 00 xbegin $0x0000000010015c72 + c7 f8 fa ff ff ff xbegin $0x0000000010015c63 + c7 f8 00 00 00 00 xbegin $0x0000000010015c6f 0f 01 d5 xend c6 f8 08 xabort $0x08 - c7 f8 fa ff ff ff xbegin $0x0000000010015c78 - c7 f8 00 00 00 00 xbegin $0x0000000010015c84 + c7 f8 fa ff ff ff xbegin $0x0000000010015c75 + c7 f8 00 00 00 00 xbegin $0x0000000010015c81 0f 01 d5 xend 0f 01 d6 xtest 8c 18 mov %ds, (%rax) @@ -36483,17 +36482,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 0x000000002235b480, %xmm1 + f2 0f d0 0d 78 56 34 addsubps 0x000000002235b47d, %xmm1 12 - 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b488 + 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b485 12 - 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b48f - f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b497, %xmm1 + 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b48c + f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b494, %xmm1 12 - f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b49f, %xmm1 + f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b49c, %xmm1 12 - 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b4a6, %xmm1 - f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b4ae, %xmm1 + 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b4a3, %xmm1 + f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b4ab, %xmm1 12 f3 0f 2a c8 cvtsi2ss %eax, %xmm1 f2 0f 2a c8 cvtsi2sd %eax, %xmm1 @@ -36509,50 +36508,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 0x000000002235b4f4, %xmm1 + f2 0f 7c 0d 78 56 34 haddps 0x000000002235b4f1, %xmm1 12 - f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b4fc + f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b4f9 12 - f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b504, %xmm1 + f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b501, %xmm1 12 - 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b50c + 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b509 12 - 66 0f 16 0d 78 56 34 movhpd 0x000000002235b514, %xmm1 + 66 0f 16 0d 78 56 34 movhpd 0x000000002235b511, %xmm1 12 - 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b51b - 0f 16 0d 78 56 34 12 movhps 0x000000002235b522, %xmm1 - 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b52a + 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 12 - 66 0f 12 0d 78 56 34 movlpd 0x000000002235b532, %xmm1 + 66 0f 12 0d 78 56 34 movlpd 0x000000002235b52f, %xmm1 12 - 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b539 - 0f 12 0d 78 56 34 12 movlps 0x000000002235b540, %xmm1 - 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b548 + 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 12 - f3 0f 7e 0d 78 56 34 movq 0x000000002235b550, %xmm1 + f3 0f 7e 0d 78 56 34 movq 0x000000002235b54d, %xmm1 12 - f3 0f 16 0d 78 56 34 movshdup 0x000000002235b558, %xmm1 + f3 0f 16 0d 78 56 34 movshdup 0x000000002235b555, %xmm1 12 - f3 0f 12 0d 78 56 34 movsldup 0x000000002235b560, %xmm1 + f3 0f 12 0d 78 56 34 movsldup 0x000000002235b55d, %xmm1 12 - f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b569, $0x90, %xmm1 + f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b566, $0x90, %xmm1 12 90 - f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b572, $0x90, %xmm1 + f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b56f, $0x90, %xmm1 12 90 - 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b579, %mm1 - 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b580, %mm1 - 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b587, %mm1 - 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b58f, %xmm1 + 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 12 - 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b597, %xmm1 + 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b594, %xmm1 12 - 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b59f, %xmm1 + 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b59c, %xmm1 12 - 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b5a7, %xmm1 + 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b5a4, %xmm1 12 - 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b5af + 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b5ac 12 - 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b5b6 + 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b5b3 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 @@ -36623,17 +36622,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 0x000000002235b6e8, %xmm1 + f2 0f d0 0d 78 56 34 addsubps 0x000000002235b6e5, %xmm1 12 - 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b6f0 + 66 0f 2f 0d 78 56 34 comisd %xmm1, 0x000000002235b6ed 12 - 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b6f7 - f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b6ff, %xmm1 + 0f 2f 0d 78 56 34 12 comiss %xmm1, 0x000000002235b6f4 + f3 0f e6 0d 78 56 34 cvtdq2pd 0x000000002235b6fc, %xmm1 12 - f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b707, %xmm1 + f2 0f e6 0d 78 56 34 cvtpd2dq 0x000000002235b704, %xmm1 12 - 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b70e, %xmm1 - f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b716, %xmm1 + 0f 5a 0d 78 56 34 12 cvtps2pd 0x000000002235b70b, %xmm1 + f3 0f 5b 0d 78 56 34 cvttps2dq 0x000000002235b713, %xmm1 12 f3 0f 2a c8 cvtsi2ss %eax, %xmm1 f2 0f 2a c8 cvtsi2sd %eax, %xmm1 @@ -36651,50 +36650,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 0x000000002235b766, %xmm1 + f2 0f 7c 0d 78 56 34 haddps 0x000000002235b763, %xmm1 12 - f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b76e + f3 0f 7f 0d 78 56 34 movdqu %xmm1, 0x000000002235b76b 12 - f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b776, %xmm1 + f3 0f 6f 0d 78 56 34 movdqu 0x000000002235b773, %xmm1 12 - 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b77e + 66 0f 17 0d 78 56 34 movhpd %xmm1, 0x000000002235b77b 12 - 66 0f 16 0d 78 56 34 movhpd 0x000000002235b786, %xmm1 + 66 0f 16 0d 78 56 34 movhpd 0x000000002235b783, %xmm1 12 - 0f 17 0d 78 56 34 12 movhps %xmm1, 0x000000002235b78d - 0f 16 0d 78 56 34 12 movhps 0x000000002235b794, %xmm1 - 66 0f 13 0d 78 56 34 movlpd %xmm1, 0x000000002235b79c + 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 12 - 66 0f 12 0d 78 56 34 movlpd 0x000000002235b7a4, %xmm1 + 66 0f 12 0d 78 56 34 movlpd 0x000000002235b7a1, %xmm1 12 - 0f 13 0d 78 56 34 12 movlps %xmm1, 0x000000002235b7ab - 0f 12 0d 78 56 34 12 movlps 0x000000002235b7b2, %xmm1 - 66 0f d6 0d 78 56 34 movq %xmm1, 0x000000002235b7ba + 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 12 - f3 0f 7e 0d 78 56 34 movq 0x000000002235b7c2, %xmm1 + f3 0f 7e 0d 78 56 34 movq 0x000000002235b7bf, %xmm1 12 - f3 0f 16 0d 78 56 34 movshdup 0x000000002235b7ca, %xmm1 + f3 0f 16 0d 78 56 34 movshdup 0x000000002235b7c7, %xmm1 12 - f3 0f 12 0d 78 56 34 movsldup 0x000000002235b7d2, %xmm1 + f3 0f 12 0d 78 56 34 movsldup 0x000000002235b7cf, %xmm1 12 - f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b7db, $0x90, %xmm1 + f3 0f 70 0d 78 56 34 pshufhw 0x000000002235b7d8, $0x90, %xmm1 12 90 - f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b7e4, $0x90, %xmm1 + f2 0f 70 0d 78 56 34 pshuflw 0x000000002235b7e1, $0x90, %xmm1 12 90 - 0f 60 0d 78 56 34 12 punpcklbw 0x000000002235b7eb, %mm1 - 0f 62 0d 78 56 34 12 punpckldq 0x000000002235b7f2, %mm1 - 0f 61 0d 78 56 34 12 punpcklwd 0x000000002235b7f9, %mm1 - 66 0f 60 0d 78 56 34 punpcklbw 0x000000002235b801, %xmm1 + 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 12 - 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b809, %xmm1 + 66 0f 62 0d 78 56 34 punpckldq 0x000000002235b806, %xmm1 12 - 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b811, %xmm1 + 66 0f 61 0d 78 56 34 punpcklwd 0x000000002235b80e, %xmm1 12 - 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b819, %xmm1 + 66 0f 6c 0d 78 56 34 punpcklqdq 0x000000002235b816, %xmm1 12 - 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b821 + 66 0f 2e 0d 78 56 34 ucomisd %xmm1, 0x000000002235b81e 12 - 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b828 + 0f 2e 0d 78 56 34 12 ucomiss %xmm1, 0x000000002235b825 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 @@ -39003,9 +39002,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 $0x0000000010018c4f - 63 15 20 44 72 7f movsxd 0x000000008f73d013, %edx - 7b 34 jnp $0x0000000010018c29 + 7b 62 jnp $0x0000000010018c4c + 63 15 20 44 72 7f movsxd 0x000000008f73d010, %edx + 7b 34 jnp $0x0000000010018c26 12 00 adc (%rax), %al 00 7b f3 add %bh, -0x0d(%rbx) 0f ae f0 mfence @@ -40992,7 +40991,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 0x000000003223d95f, %eax + 03 05 22 22 22 22 add 0x000000003223d95c, %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 @@ -41024,12 +41023,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, 0x000000003223d9da - 48 83 05 22 22 22 22 addq $0x33, 0x000000003223d9e2 + 83 05 22 22 22 22 33 addl $0x33, 0x000000003223d9d7 + 48 83 05 22 22 22 22 addq $0x33, 0x000000003223d9df 33 - 81 05 22 22 22 22 33 addl $0x33333333, 0x000000003223d9ec + 81 05 22 22 22 22 33 addl $0x33333333, 0x000000003223d9e9 33 33 33 - 48 81 05 22 22 22 22 addq $0x33333333, 0x000000003223d9f7 + 48 81 05 22 22 22 22 addq $0x33333333, 0x000000003223d9f4 33 33 33 33 83 04 c5 22 22 22 22 addl $0x33, 0x22222222(,%rax,8) 33 @@ -41063,7 +41062,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 0x000000001001b86d, %eax + 8b 05 00 00 00 00 mov 0x000000001001b86a, %eax b0 00 mov $0x00, %al 66 b8 00 00 data16 mov $0x0000, %ax b8 00 00 00 00 mov $0x00000000, %eax @@ -41072,7 +41071,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 0x000000001001b89b, %eax + 8b 05 00 00 00 00 mov 0x000000001001b898, %eax a0 11 22 33 44 55 66 mov 0x8877665544332211, %al 77 88 66 a1 11 22 33 44 55 data16 mov 0x8877665544332211, %ax @@ -41245,10 +41244,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 0x000000001001bb4d, %eax - 67 8b 05 00 00 00 00 addr32 mov 0x000000001001bb54, %eax - e8 00 00 00 00 call $0x000000001001bb59 - e3 00 jrcxz $0x000000001001bb5b + 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 48 b8 00 00 00 00 00 mov $0x0000000000000000, %rax 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax @@ -41257,22 +41256,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 $0x000000001001bb8c + e8 00 00 00 00 call $0x000000001001bb89 48 05 00 00 00 00 add $0x00000000, %rax - 48 8d 05 00 00 00 00 lea 0x000000001001bb99, %rax + 48 8d 05 00 00 00 00 lea 0x000000001001bb96, %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 $0x000000001001bbb0 + e8 00 00 00 00 call $0x000000001001bbad 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 $0x000000001001bbc1 + e8 00 00 00 00 call $0x000000001001bbbe 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 $0x000000001001bbd2 + e8 00 00 00 00 call $0x000000001001bbcf 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 $0x000000001001bbe3 + e8 00 00 00 00 call $0x000000001001bbe0 48 b8 00 00 00 00 00 mov $0x0000000000000000, %rax 00 00 00 48 05 00 00 00 00 add $0x00000000, %rax @@ -102617,7 +102616,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 0x000000001007015a, %zmm0 {%k0} + 62 f1 7c 48 28 05 00 vmovaps 0x0000000010070157, %zmm0 {%k0} fc ff ff 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax), %zmm0 {%k0} 40 00 00 00 @@ -102855,9 +102854,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 0x0000000010070ac4, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010070ac1, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010070ace, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010070acb, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -102869,9 +102868,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 0x0000000010070b0a, %rcx + 66 0f 38 f8 0d 00 00 movdir64b 0x0000000010070b07, %rcx 00 00 - 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010070b14, %ecx + 67 66 0f 38 f8 0d 00 movdir64b 0x0000000010070b11, %ecx 00 00 00 67 66 0f 38 f8 0c 25 movdir64b 0x00, %ecx 00 00 00 00 @@ -102881,13 +102880,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 0x0000000010070b49, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010070b46, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010070b53, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010070b50, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010070b5c, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010070b59, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010070b66, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010070b63, %ecx 00 00 00 f2 0f 38 f8 0c 25 00 enqcmd 0x00, %rcx 00 00 00 @@ -102901,13 +102900,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 0x0000000010070baf, %rcx + f2 0f 38 f8 0d 00 00 enqcmd 0x0000000010070bac, %rcx 00 00 - 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010070bb9, %ecx + 67 f2 0f 38 f8 0d 00 enqcmd 0x0000000010070bb6, %ecx 00 00 00 - f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010070bc2, %rcx + f3 0f 38 f8 0d 00 00 enqcmds 0x0000000010070bbf, %rcx 00 00 - 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010070bcc, %ecx + 67 f3 0f 38 f8 0d 00 enqcmds 0x0000000010070bc9, %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 836767c7928..641a5ecfe54 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86.asm @@ -73680,7 +73680,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(66) RAW(2e) RAW(0f) RAW(1f) RAW(84) RAW(00) RAW(00) RAW(00) RAW(00) RAW(00) RAW(0f) RAW(19) RAW(ff) - RAW(0f) RAW(1c) RAW(ff) RAW(0f) RAW(1d) RAW(ff) RAW(0f) RAW(1e) RAW(ff) RAW(0f) RAW(1f) RAW(ff) 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 c3c8a057e78..5fb7e870014 100644 --- a/third_party/binutils/test_decenc/test_decenc_x86_64.asm +++ b/third_party/binutils/test_decenc/test_decenc_x86_64.asm @@ -35266,7 +35266,6 @@ GLOBAL_LABEL(FUNCNAME:) RAW(66) RAW(2e) RAW(0f) RAW(1f) RAW(84) RAW(00) RAW(00) RAW(00) RAW(00) RAW(00) RAW(0f) RAW(19) RAW(ff) - RAW(0f) RAW(1c) RAW(ff) RAW(0f) RAW(1d) RAW(ff) RAW(0f) RAW(1e) RAW(ff) RAW(0f) RAW(1f) RAW(ff) From 9042b4f47abe5c945c5561ed68b9436ab5a561b5 Mon Sep 17 00:00:00 2001 From: Kyle Huey Date: Sat, 7 Dec 2024 00:48:34 -0800 Subject: [PATCH 2/2] Update expectations files. --- suite/tests/api/dis-x64.expect | 2 +- suite/tests/api/dis-x86.expect | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/suite/tests/api/dis-x64.expect b/suite/tests/api/dis-x64.expect index 87d702a7216..2c2fd522e11 100644 --- a/suite/tests/api/dis-x64.expect +++ b/suite/tests/api/dis-x64.expect @@ -2897,7 +2897,7 @@ +0x1ca0 3a f5 cmp dh, ch +0x1ca2 48 bf 79 0f c9 63 6d mov rdi, 0x77705d6d63c90f79 5d 70 77 -+0x1cac 0f 1c 4f 65 nop dword ptr [rdi+0x65] ++0x1cac 0f 1c 4f 65 cldemote byte ptr [rdi+0x65] +0x1cb0 74 2a jz 0x0000000010001cdc +0x1cb2 12 cc adc cl, ah +0x1cb4 37...?? diff --git a/suite/tests/api/dis-x86.expect b/suite/tests/api/dis-x86.expect index ba177d91528..4ac472ac966 100644 --- a/suite/tests/api/dis-x86.expect +++ b/suite/tests/api/dis-x86.expect @@ -2960,7 +2960,7 @@ +0x1ca8 6d insd +0x1ca9 5d pop ebp +0x1caa 70 77 jo 0x10001d23 -+0x1cac 0f 1c 4f 65 nop dword ptr [edi+0x65] ++0x1cac 0f 1c 4f 65 cldemote byte ptr [edi+0x65] +0x1cb0 74 2a jz 0x10001cdc +0x1cb2 12 cc adc cl, ah +0x1cb4 37 aaa