* [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
@ 2015-08-19 16:13 Alexander Fomin
2015-08-19 16:16 ` H.J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Fomin @ 2015-08-19 16:13 UTC (permalink / raw)
To: hjl.tools; +Cc: binutils
For most of mask instructions, ModRM[7:6] must be 11b.
For some of them, ModRM[7:6] must be not 11b.
The patch makes disassembler satisfy these constraints.
Any objections, comments?
Alexander
---
opcodes/
PR binutils/18257
* i386-dis.c Use MOD_TABLE for most of mask instructions.
(MOD enum) Add MOD_VEX_W_0_0F41_P_0_LEN_1, MOD_VEX_W_1_0F41_P_0_LEN_1,
MOD_VEX_W_0_0F41_P_2_LEN_1, MOD_VEX_W_1_0F41_P_2_LEN_1,
MOD_VEX_W_0_0F42_P_0_LEN_1, MOD_VEX_W_1_0F42_P_0_LEN_1,
MOD_VEX_W_0_0F42_P_2_LEN_1, MOD_VEX_W_1_0F42_P_2_LEN_1,
MOD_VEX_W_0_0F44_P_0_LEN_1, MOD_VEX_W_1_0F44_P_0_LEN_1,
MOD_VEX_W_0_0F44_P_2_LEN_1, MOD_VEX_W_1_0F44_P_2_LEN_1,
MOD_VEX_W_0_0F45_P_0_LEN_1, MOD_VEX_W_1_0F45_P_0_LEN_1,
MOD_VEX_W_0_0F45_P_2_LEN_1, MOD_VEX_W_1_0F45_P_2_LEN_1,
MOD_VEX_W_0_0F46_P_0_LEN_1, MOD_VEX_W_1_0F46_P_0_LEN_1,
MOD_VEX_W_0_0F46_P_2_LEN_1, MOD_VEX_W_1_0F46_P_2_LEN_1,
MOD_VEX_W_0_0F47_P_0_LEN_1, MOD_VEX_W_1_0F47_P_0_LEN_1,
MOD_VEX_W_0_0F47_P_2_LEN_1, MOD_VEX_W_1_0F47_P_2_LEN_1,
MOD_VEX_W_0_0F4A_P_0_LEN_1, MOD_VEX_W_1_0F4A_P_0_LEN_1,
MOD_VEX_W_0_0F4A_P_2_LEN_1, MOD_VEX_W_1_0F4A_P_2_LEN_1,
MOD_VEX_W_0_0F4B_P_0_LEN_1, MOD_VEX_W_1_0F4B_P_0_LEN_1,
MOD_VEX_W_0_0F4B_P_2_LEN_1, MOD_VEX_W_0_0F91_P_0_LEN_0,
MOD_VEX_W_1_0F91_P_0_LEN_0, MOD_VEX_W_0_0F91_P_2_LEN_0,
MOD_VEX_W_1_0F91_P_2_LEN_0, MOD_VEX_W_0_0F92_P_0_LEN_0,
MOD_VEX_W_0_0F92_P_2_LEN_0, MOD_VEX_W_0_0F92_P_3_LEN_0,
MOD_VEX_W_1_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_W_0_0F93_P_3_LEN_0,
MOD_VEX_W_1_0F93_P_3_LEN_0, MOD_VEX_W_0_0F98_P_0_LEN_0,
MOD_VEX_W_1_0F98_P_0_LEN_0, MOD_VEX_W_0_0F98_P_2_LEN_0,
MOD_VEX_W_1_0F98_P_2_LEN_0, MOD_VEX_W_0_0F99_P_0_LEN_0,
MOD_VEX_W_1_0F99_P_0_LEN_0, MOD_VEX_W_0_0F99_P_2_LEN_0,
MOD_VEX_W_1_0F99_P_2_LEN_0, MOD_VEX_W_0_0F3A30_P_2_LEN_0,
MOD_VEX_W_1_0F3A30_P_2_LEN_0, MOD_VEX_W_0_0F3A31_P_2_LEN_0,
MOD_VEX_W_1_0F3A31_P_2_LEN_0, MOD_VEX_W_0_0F3A32_P_2_LEN_0,
MOD_VEX_W_1_0F3A32_P_2_LEN_0, MOD_VEX_W_0_0F3A33_P_2_LEN_0,
MOD_VEX_W_1_0F3A33_P_2_LEN_0.
(vex_w_table) Replace terminals with MOD_TABLE entries for
most of mask instructions.
gas/testsuite
PR binutils/18257
* gas/i386/disassem.s Add mask instructions with invalid ModR/M byte.
* gas/i386/x86-64-disassem.s Likewise.
* gas/i386/disassem.d Add mask instructions with invalid ModR/M byte disassembly.
---
gas/testsuite/gas/i386/disassem.d | 336 +++++++++++++++++++++-
gas/testsuite/gas/i386/disassem.s | 165 +++++++++++
gas/testsuite/gas/i386/x86-64-disassem.d | 336 +++++++++++++++++++++-
gas/testsuite/gas/i386/x86-64-disassem.s | 165 +++++++++++
opcodes/i386-dis.c | 472 +++++++++++++++++++++++++++----
5 files changed, 1409 insertions(+), 65 deletions(-)
diff --git a/gas/testsuite/gas/i386/disassem.d b/gas/testsuite/gas/i386/disassem.d
index d8c6d61..2783c20 100644
--- a/gas/testsuite/gas/i386/disassem.d
+++ b/gas/testsuite/gas/i386/disassem.d
@@ -7,8 +7,338 @@
Disassembly of section \.text:
0+ <\.text>:
-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)[ ]*
[ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\)
-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
-[ ]*[a-f0-9]+:[ ]*d8[ ]*\.byte 0xd8
+[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*d8[ ]*.byte 0xd8
#pass
diff --git a/gas/testsuite/gas/i386/disassem.s b/gas/testsuite/gas/i386/disassem.s
index 81b0ef3..a0f9f3b 100644
--- a/gas/testsuite/gas/i386/disassem.s
+++ b/gas/testsuite/gas/i386/disassem.s
@@ -1,3 +1,168 @@
.text
+.byte 0xC5, 0xEC, 0x4A, 0x9B
+.byte 0xC5, 0xEC, 0x4A, 0x6F
+.byte 0xC5, 0xEC, 0x4A, 0x3F
+.byte 0xC5, 0xED, 0x4A, 0x9B
+.byte 0xC5, 0xED, 0x4A, 0x6F
+.byte 0xC5, 0xED, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x3F
+.byte 0xC5, 0xEC, 0x41, 0x9B
+.byte 0xC5, 0xEC, 0x41, 0x6F
+.byte 0xC5, 0xEC, 0x41, 0x3F
+.byte 0xC5, 0xED, 0x41, 0x9B
+.byte 0xC5, 0xED, 0x41, 0x6F
+.byte 0xC5, 0xED, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x3F
+.byte 0xC5, 0xEC, 0x42, 0x9B
+.byte 0xC5, 0xEC, 0x42, 0x6F
+.byte 0xC5, 0xEC, 0x42, 0x3F
+.byte 0xC5, 0xED, 0x42, 0x9B
+.byte 0xC5, 0xED, 0x42, 0x6F
+.byte 0xC5, 0xED, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x3F
+.byte 0xC5, 0xEC, 0x4B, 0x9B
+.byte 0xC5, 0xEC, 0x4B, 0x6F
+.byte 0xC5, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xED, 0x4B, 0x9B
+.byte 0xC5, 0xED, 0x4B, 0x6F
+.byte 0xC5, 0xED, 0x4B, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xF8, 0x44, 0x9B
+.byte 0xC5, 0xF8, 0x44, 0x6F
+.byte 0xC5, 0xF8, 0x44, 0x3F
+.byte 0xC5, 0xF9, 0x44, 0x9B
+.byte 0xC5, 0xF9, 0x44, 0x6F
+.byte 0xC5, 0xF9, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x3F
+.byte 0xC5, 0xEC, 0x45, 0x9B
+.byte 0xC5, 0xEC, 0x45, 0x6F
+.byte 0xC5, 0xEC, 0x45, 0x3F
+.byte 0xC5, 0xED, 0x45, 0x9B
+.byte 0xC5, 0xED, 0x45, 0x6F
+.byte 0xC5, 0xED, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x3F
+.byte 0xC5, 0xF8, 0x98, 0x9B
+.byte 0xC5, 0xF8, 0x98, 0x6F
+.byte 0xC5, 0xF8, 0x98, 0x3F
+.byte 0xC5, 0xF9, 0x98, 0x9B
+.byte 0xC5, 0xF9, 0x98, 0x6F
+.byte 0xC5, 0xF9, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x3F
+.byte 0xC5, 0xEC, 0x46, 0x9B
+.byte 0xC5, 0xEC, 0x46, 0x6F
+.byte 0xC5, 0xEC, 0x46, 0x3F
+.byte 0xC5, 0xED, 0x46, 0x9B
+.byte 0xC5, 0xED, 0x46, 0x6F
+.byte 0xC5, 0xED, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x3F
+.byte 0xC5, 0xEC, 0x47, 0x9B
+.byte 0xC5, 0xEC, 0x47, 0x6F
+.byte 0xC5, 0xEC, 0x47, 0x3F
+.byte 0xC5, 0xED, 0x47, 0x9B
+.byte 0xC5, 0xED, 0x47, 0x6F
+.byte 0xC5, 0xED, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x3F
+.byte 0xC5, 0xF8, 0x99, 0x9B
+.byte 0xC5, 0xF8, 0x99, 0x6F
+.byte 0xC5, 0xF8, 0x99, 0x3F
+.byte 0xC5, 0xF9, 0x99, 0x9B
+.byte 0xC5, 0xF9, 0x99, 0x6F
+.byte 0xC5, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01
+.byte 0xC5, 0xF8, 0x92, 0x9B
+.byte 0xC5, 0xF8, 0x92, 0x6F
+.byte 0xC5, 0xF8, 0x92, 0x3F
+.byte 0xC5, 0xF9, 0x92, 0x9B
+.byte 0xC5, 0xF9, 0x92, 0x6F
+.byte 0xC5, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xFB, 0x92, 0x9B
+.byte 0xC5, 0xFB, 0x92, 0x6F
+.byte 0xC5, 0xFB, 0x92, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xF8, 0x93, 0x9B
+.byte 0xC5, 0xF8, 0x93, 0x6F
+.byte 0xC5, 0xF8, 0x93, 0x3F
+.byte 0xC5, 0xF9, 0x93, 0x9B
+.byte 0xC5, 0xF9, 0x93, 0x6F
+.byte 0xC5, 0xF9, 0x93, 0x3F
+.byte 0xC5, 0xFB, 0x93, 0x9B
+.byte 0xC5, 0xFB, 0x93, 0x6F
+.byte 0xC5, 0xFB, 0x93, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x3F
.byte 0xFF, 0xEF
.byte 0xFF, 0xD8
diff --git a/gas/testsuite/gas/i386/x86-64-disassem.d b/gas/testsuite/gas/i386/x86-64-disassem.d
index 8662af9..9199a2e 100644
--- a/gas/testsuite/gas/i386/x86-64-disassem.d
+++ b/gas/testsuite/gas/i386/x86-64-disassem.d
@@ -7,8 +7,338 @@
Disassembly of section \.text:
0+ <\.text>:
-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)[ ]*
[ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\)
-[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
-[ ]*[a-f0-9]+:[ ]*d8[ ]*\.byte 0xd8
+[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*d8[ ]*.byte 0xd8
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-disassem.s b/gas/testsuite/gas/i386/x86-64-disassem.s
index 81b0ef3..a0f9f3b 100644
--- a/gas/testsuite/gas/i386/x86-64-disassem.s
+++ b/gas/testsuite/gas/i386/x86-64-disassem.s
@@ -1,3 +1,168 @@
.text
+.byte 0xC5, 0xEC, 0x4A, 0x9B
+.byte 0xC5, 0xEC, 0x4A, 0x6F
+.byte 0xC5, 0xEC, 0x4A, 0x3F
+.byte 0xC5, 0xED, 0x4A, 0x9B
+.byte 0xC5, 0xED, 0x4A, 0x6F
+.byte 0xC5, 0xED, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x3F
+.byte 0xC5, 0xEC, 0x41, 0x9B
+.byte 0xC5, 0xEC, 0x41, 0x6F
+.byte 0xC5, 0xEC, 0x41, 0x3F
+.byte 0xC5, 0xED, 0x41, 0x9B
+.byte 0xC5, 0xED, 0x41, 0x6F
+.byte 0xC5, 0xED, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x3F
+.byte 0xC5, 0xEC, 0x42, 0x9B
+.byte 0xC5, 0xEC, 0x42, 0x6F
+.byte 0xC5, 0xEC, 0x42, 0x3F
+.byte 0xC5, 0xED, 0x42, 0x9B
+.byte 0xC5, 0xED, 0x42, 0x6F
+.byte 0xC5, 0xED, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x3F
+.byte 0xC5, 0xEC, 0x4B, 0x9B
+.byte 0xC5, 0xEC, 0x4B, 0x6F
+.byte 0xC5, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xED, 0x4B, 0x9B
+.byte 0xC5, 0xED, 0x4B, 0x6F
+.byte 0xC5, 0xED, 0x4B, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xF8, 0x44, 0x9B
+.byte 0xC5, 0xF8, 0x44, 0x6F
+.byte 0xC5, 0xF8, 0x44, 0x3F
+.byte 0xC5, 0xF9, 0x44, 0x9B
+.byte 0xC5, 0xF9, 0x44, 0x6F
+.byte 0xC5, 0xF9, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x3F
+.byte 0xC5, 0xEC, 0x45, 0x9B
+.byte 0xC5, 0xEC, 0x45, 0x6F
+.byte 0xC5, 0xEC, 0x45, 0x3F
+.byte 0xC5, 0xED, 0x45, 0x9B
+.byte 0xC5, 0xED, 0x45, 0x6F
+.byte 0xC5, 0xED, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x3F
+.byte 0xC5, 0xF8, 0x98, 0x9B
+.byte 0xC5, 0xF8, 0x98, 0x6F
+.byte 0xC5, 0xF8, 0x98, 0x3F
+.byte 0xC5, 0xF9, 0x98, 0x9B
+.byte 0xC5, 0xF9, 0x98, 0x6F
+.byte 0xC5, 0xF9, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x3F
+.byte 0xC5, 0xEC, 0x46, 0x9B
+.byte 0xC5, 0xEC, 0x46, 0x6F
+.byte 0xC5, 0xEC, 0x46, 0x3F
+.byte 0xC5, 0xED, 0x46, 0x9B
+.byte 0xC5, 0xED, 0x46, 0x6F
+.byte 0xC5, 0xED, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x3F
+.byte 0xC5, 0xEC, 0x47, 0x9B
+.byte 0xC5, 0xEC, 0x47, 0x6F
+.byte 0xC5, 0xEC, 0x47, 0x3F
+.byte 0xC5, 0xED, 0x47, 0x9B
+.byte 0xC5, 0xED, 0x47, 0x6F
+.byte 0xC5, 0xED, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x3F
+.byte 0xC5, 0xF8, 0x99, 0x9B
+.byte 0xC5, 0xF8, 0x99, 0x6F
+.byte 0xC5, 0xF8, 0x99, 0x3F
+.byte 0xC5, 0xF9, 0x99, 0x9B
+.byte 0xC5, 0xF9, 0x99, 0x6F
+.byte 0xC5, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01
+.byte 0xC5, 0xF8, 0x92, 0x9B
+.byte 0xC5, 0xF8, 0x92, 0x6F
+.byte 0xC5, 0xF8, 0x92, 0x3F
+.byte 0xC5, 0xF9, 0x92, 0x9B
+.byte 0xC5, 0xF9, 0x92, 0x6F
+.byte 0xC5, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xFB, 0x92, 0x9B
+.byte 0xC5, 0xFB, 0x92, 0x6F
+.byte 0xC5, 0xFB, 0x92, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xF8, 0x93, 0x9B
+.byte 0xC5, 0xF8, 0x93, 0x6F
+.byte 0xC5, 0xF8, 0x93, 0x3F
+.byte 0xC5, 0xF9, 0x93, 0x9B
+.byte 0xC5, 0xF9, 0x93, 0x6F
+.byte 0xC5, 0xF9, 0x93, 0x3F
+.byte 0xC5, 0xFB, 0x93, 0x9B
+.byte 0xC5, 0xFB, 0x93, 0x6F
+.byte 0xC5, 0xFB, 0x93, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x3F
.byte 0xFF, 0xEF
.byte 0xFF, 0xD8
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index e590e24..055b38f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -820,6 +820,37 @@ enum
MOD_VEX_0F16_PREFIX_0,
MOD_VEX_0F17,
MOD_VEX_0F2B,
+ MOD_VEX_W_0_0F41_P_0_LEN_1,
+ MOD_VEX_W_1_0F41_P_0_LEN_1,
+ MOD_VEX_W_0_0F41_P_2_LEN_1,
+ MOD_VEX_W_1_0F41_P_2_LEN_1,
+ MOD_VEX_W_0_0F42_P_0_LEN_1,
+ MOD_VEX_W_1_0F42_P_0_LEN_1,
+ MOD_VEX_W_0_0F42_P_2_LEN_1,
+ MOD_VEX_W_1_0F42_P_2_LEN_1,
+ MOD_VEX_W_0_0F44_P_0_LEN_1,
+ MOD_VEX_W_1_0F44_P_0_LEN_1,
+ MOD_VEX_W_0_0F44_P_2_LEN_1,
+ MOD_VEX_W_1_0F44_P_2_LEN_1,
+ MOD_VEX_W_0_0F45_P_0_LEN_1,
+ MOD_VEX_W_1_0F45_P_0_LEN_1,
+ MOD_VEX_W_0_0F45_P_2_LEN_1,
+ MOD_VEX_W_1_0F45_P_2_LEN_1,
+ MOD_VEX_W_0_0F46_P_0_LEN_1,
+ MOD_VEX_W_1_0F46_P_0_LEN_1,
+ MOD_VEX_W_0_0F46_P_2_LEN_1,
+ MOD_VEX_W_1_0F46_P_2_LEN_1,
+ MOD_VEX_W_0_0F47_P_0_LEN_1,
+ MOD_VEX_W_1_0F47_P_0_LEN_1,
+ MOD_VEX_W_0_0F47_P_2_LEN_1,
+ MOD_VEX_W_1_0F47_P_2_LEN_1,
+ MOD_VEX_W_0_0F4A_P_0_LEN_1,
+ MOD_VEX_W_1_0F4A_P_0_LEN_1,
+ MOD_VEX_W_0_0F4A_P_2_LEN_1,
+ MOD_VEX_W_1_0F4A_P_2_LEN_1,
+ MOD_VEX_W_0_0F4B_P_0_LEN_1,
+ MOD_VEX_W_1_0F4B_P_0_LEN_1,
+ MOD_VEX_W_0_0F4B_P_2_LEN_1,
MOD_VEX_0F50,
MOD_VEX_0F71_REG_2,
MOD_VEX_0F71_REG_4,
@@ -831,6 +862,26 @@ enum
MOD_VEX_0F73_REG_3,
MOD_VEX_0F73_REG_6,
MOD_VEX_0F73_REG_7,
+ MOD_VEX_W_0_0F91_P_0_LEN_0,
+ MOD_VEX_W_1_0F91_P_0_LEN_0,
+ MOD_VEX_W_0_0F91_P_2_LEN_0,
+ MOD_VEX_W_1_0F91_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_0_LEN_0,
+ MOD_VEX_W_0_0F92_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_3_LEN_0,
+ MOD_VEX_W_1_0F92_P_3_LEN_0,
+ MOD_VEX_W_0_0F93_P_0_LEN_0,
+ MOD_VEX_W_0_0F93_P_2_LEN_0,
+ MOD_VEX_W_0_0F93_P_3_LEN_0,
+ MOD_VEX_W_1_0F93_P_3_LEN_0,
+ MOD_VEX_W_0_0F98_P_0_LEN_0,
+ MOD_VEX_W_1_0F98_P_0_LEN_0,
+ MOD_VEX_W_0_0F98_P_2_LEN_0,
+ MOD_VEX_W_1_0F98_P_2_LEN_0,
+ MOD_VEX_W_0_0F99_P_0_LEN_0,
+ MOD_VEX_W_1_0F99_P_0_LEN_0,
+ MOD_VEX_W_0_0F99_P_2_LEN_0,
+ MOD_VEX_W_1_0F99_P_2_LEN_0,
MOD_VEX_0FAE_REG_2,
MOD_VEX_0FAE_REG_3,
MOD_VEX_0FD7_PREFIX_2,
@@ -845,6 +896,14 @@ enum
MOD_VEX_0F385A_PREFIX_2,
MOD_VEX_0F388C_PREFIX_2,
MOD_VEX_0F388E_PREFIX_2,
+ MOD_VEX_W_0_0F3A30_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A30_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A31_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A31_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A32_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A32_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A33_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A33_P_2_LEN_0,
MOD_EVEX_0F10_PREFIX_1,
MOD_EVEX_0F10_PREFIX_3,
@@ -10446,82 +10505,82 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F41_P_0_LEN_1 */
- { "kandw", { MaskG, MaskVex, MaskR }, 0 },
- { "kandq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F41_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F41_P_0_LEN_1) },
},
{
/* VEX_W_0F41_P_2_LEN_1 */
- { "kandb", { MaskG, MaskVex, MaskR }, 0 },
- { "kandd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F41_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F41_P_2_LEN_1) }
},
{
/* VEX_W_0F42_P_0_LEN_1 */
- { "kandnw", { MaskG, MaskVex, MaskR }, 0 },
- { "kandnq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F42_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F42_P_0_LEN_1) },
},
{
/* VEX_W_0F42_P_2_LEN_1 */
- { "kandnb", { MaskG, MaskVex, MaskR }, 0 },
- { "kandnd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F42_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F42_P_2_LEN_1) },
},
{
/* VEX_W_0F44_P_0_LEN_0 */
- { "knotw", { MaskG, MaskR }, 0 },
- { "knotq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F44_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F44_P_0_LEN_1) },
},
{
/* VEX_W_0F44_P_2_LEN_0 */
- { "knotb", { MaskG, MaskR }, 0 },
- { "knotd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F44_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F44_P_2_LEN_1) },
},
{
/* VEX_W_0F45_P_0_LEN_1 */
- { "korw", { MaskG, MaskVex, MaskR }, 0 },
- { "korq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F45_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F45_P_0_LEN_1) },
},
{
/* VEX_W_0F45_P_2_LEN_1 */
- { "korb", { MaskG, MaskVex, MaskR }, 0 },
- { "kord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F45_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F45_P_2_LEN_1) },
},
{
/* VEX_W_0F46_P_0_LEN_1 */
- { "kxnorw", { MaskG, MaskVex, MaskR }, 0 },
- { "kxnorq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F46_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F46_P_0_LEN_1) },
},
{
/* VEX_W_0F46_P_2_LEN_1 */
- { "kxnorb", { MaskG, MaskVex, MaskR }, 0 },
- { "kxnord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F46_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F46_P_2_LEN_1) },
},
{
/* VEX_W_0F47_P_0_LEN_1 */
- { "kxorw", { MaskG, MaskVex, MaskR }, 0 },
- { "kxorq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F47_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F47_P_0_LEN_1) },
},
{
/* VEX_W_0F47_P_2_LEN_1 */
- { "kxorb", { MaskG, MaskVex, MaskR }, 0 },
- { "kxord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F47_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F47_P_2_LEN_1) },
},
{
/* VEX_W_0F4A_P_0_LEN_1 */
- { "kaddw", { MaskG, MaskVex, MaskR }, 0 },
- { "kaddq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4A_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4A_P_0_LEN_1) },
},
{
/* VEX_W_0F4A_P_2_LEN_1 */
- { "kaddb", { MaskG, MaskVex, MaskR }, 0 },
- { "kaddd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4A_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4A_P_2_LEN_1) },
},
{
/* VEX_W_0F4B_P_0_LEN_1 */
- { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 },
- { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4B_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4B_P_0_LEN_1) },
},
{
/* VEX_W_0F4B_P_2_LEN_1 */
- { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4B_P_2_LEN_1) },
},
{
/* VEX_W_0F50_M_0 */
@@ -10851,59 +10910,59 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F91_P_0_LEN_0 */
- { "kmovw", { Ew, MaskG }, 0 },
- { "kmovq", { Eq, MaskG }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F91_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F91_P_0_LEN_0) },
},
{
/* VEX_W_0F91_P_2_LEN_0 */
- { "kmovb", { Eb, MaskG }, 0 },
- { "kmovd", { Ed, MaskG }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F91_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F91_P_2_LEN_0) },
},
{
/* VEX_W_0F92_P_0_LEN_0 */
- { "kmovw", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_0_LEN_0) },
},
{
/* VEX_W_0F92_P_2_LEN_0 */
- { "kmovb", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_2_LEN_0) },
},
{
/* VEX_W_0F92_P_3_LEN_0 */
- { "kmovd", { MaskG, Rdq }, 0 },
- { "kmovq", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_3_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F92_P_3_LEN_0) },
},
{
/* VEX_W_0F93_P_0_LEN_0 */
- { "kmovw", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_0_LEN_0) },
},
{
/* VEX_W_0F93_P_2_LEN_0 */
- { "kmovb", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_2_LEN_0) },
},
{
/* VEX_W_0F93_P_3_LEN_0 */
- { "kmovd", { Gdq, MaskR }, 0 },
- { "kmovq", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_3_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F93_P_3_LEN_0) },
},
{
/* VEX_W_0F98_P_0_LEN_0 */
- { "kortestw", { MaskG, MaskR }, 0 },
- { "kortestq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F98_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F98_P_0_LEN_0) },
},
{
/* VEX_W_0F98_P_2_LEN_0 */
- { "kortestb", { MaskG, MaskR }, 0 },
- { "kortestd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F98_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F98_P_2_LEN_0) },
},
{
/* VEX_W_0F99_P_0_LEN_0 */
- { "ktestw", { MaskG, MaskR }, 0 },
- { "ktestq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F99_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F99_P_0_LEN_0) },
},
{
/* VEX_W_0F99_P_2_LEN_0 */
- { "ktestb", { MaskG, MaskR }, 0 },
- { "ktestd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F99_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F99_P_2_LEN_0) },
},
{
/* VEX_W_0FAE_R_2_M_0 */
@@ -11489,23 +11548,23 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F3A30_P_2_LEN_0 */
- { "kshiftrb", { MaskG, MaskR, Ib }, 0 },
- { "kshiftrw", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A30_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A30_P_2_LEN_0) },
},
{
/* VEX_W_0F3A31_P_2_LEN_0 */
- { "kshiftrd", { MaskG, MaskR, Ib }, 0 },
- { "kshiftrq", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A31_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A31_P_2_LEN_0) },
},
{
/* VEX_W_0F3A32_P_2_LEN_0 */
- { "kshiftlb", { MaskG, MaskR, Ib }, 0 },
- { "kshiftlw", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A32_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A32_P_2_LEN_0) },
},
{
/* VEX_W_0F3A33_P_2_LEN_0 */
- { "kshiftld", { MaskG, MaskR, Ib }, 0 },
- { "kshiftlq", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A33_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A33_P_2_LEN_0) },
},
{
/* VEX_W_0F3A38_P_2 */
@@ -11908,6 +11967,161 @@ static const struct dis386 mod_table[][2] = {
{ VEX_W_TABLE (VEX_W_0F2B_M_0) },
},
{
+ /* MOD_VEX_W_0_0F41_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F41_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F41_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F41_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F42_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandnw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F42_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandnq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F42_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandnb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F42_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandnd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F44_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "knotw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F44_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "knotq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F44_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "knotb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F44_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "knotd", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F45_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "korw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F45_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "korq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F45_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "korb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F45_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F46_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F46_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F46_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F46_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxnord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F47_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxorw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F47_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxorq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F47_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxorb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F47_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4A_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kaddw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4A_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kaddq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4A_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kaddb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4A_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kaddd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4B_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4B_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4B_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
/* MOD_VEX_0F50 */
{ Bad_Opcode },
{ VEX_W_TABLE (VEX_W_0F50_M_0) },
@@ -11963,6 +12177,106 @@ static const struct dis386 mod_table[][2] = {
{ PREFIX_TABLE (PREFIX_VEX_0F73_REG_7) },
},
{
+ /* MOD_VEX_W_0_0F91_P_0_LEN_0 */
+ { "kmovw", { Ew, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_0_LEN_0 */
+ { "kmovq", { Eq, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_2_LEN_0 */
+ { "kmovb", { Eb, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_2_LEN_0 */
+ { "kmovd", { Ed, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kmovw", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kmovb", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovd", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F92_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovq", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kmovw", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kmovb", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovd", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F93_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovq", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F98_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kortestw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F98_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kortestq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F98_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kortestb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F98_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kortestd", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F99_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "ktestw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F99_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "ktestq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F99_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "ktestb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F99_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "ktestd", { MaskG, MaskR }, 0 },
+ },
+ {
/* MOD_VEX_0FAE_REG_2 */
{ VEX_LEN_TABLE (VEX_LEN_0FAE_R_2_M_0) },
},
@@ -12019,6 +12333,46 @@ static const struct dis386 mod_table[][2] = {
/* MOD_VEX_0F388E_PREFIX_2 */
{ "vpmaskmov%LW", { Mx, Vex, XM }, 0 },
},
+ {
+ /* MOD_VEX_W_0_0F3A30_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrb", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A30_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrw", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A31_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrd", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A31_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrq", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A32_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlb", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A32_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlw", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A33_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftld", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A33_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlq", { MaskG, MaskR, Ib }, 0 },
+ },
#define NEED_MOD_TABLE
#include "i386-dis-evex.h"
#undef NEED_MOD_TABLE
--
1.8.3.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-19 16:13 [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions Alexander Fomin
@ 2015-08-19 16:16 ` H.J. Lu
2015-08-19 16:22 ` Alexander Fomin
2015-08-20 11:44 ` Alexander Fomin
0 siblings, 2 replies; 8+ messages in thread
From: H.J. Lu @ 2015-08-19 16:16 UTC (permalink / raw)
To: Alexander Fomin; +Cc: Binutils
On Wed, Aug 19, 2015 at 9:13 AM, Alexander Fomin
<afomin.mailbox@gmail.com> wrote:
> For most of mask instructions, ModRM[7:6] must be 11b.
> For some of them, ModRM[7:6] must be not 11b.
> The patch makes disassembler satisfy these constraints.
>
> Any objections, comments?
>
> Alexander
> ---
> opcodes/
>
> PR binutils/18257
> * i386-dis.c Use MOD_TABLE for most of mask instructions.
> (MOD enum) Add MOD_VEX_W_0_0F41_P_0_LEN_1, MOD_VEX_W_1_0F41_P_0_LEN_1,
> MOD_VEX_W_0_0F41_P_2_LEN_1, MOD_VEX_W_1_0F41_P_2_LEN_1,
> MOD_VEX_W_0_0F42_P_0_LEN_1, MOD_VEX_W_1_0F42_P_0_LEN_1,
> MOD_VEX_W_0_0F42_P_2_LEN_1, MOD_VEX_W_1_0F42_P_2_LEN_1,
> MOD_VEX_W_0_0F44_P_0_LEN_1, MOD_VEX_W_1_0F44_P_0_LEN_1,
> MOD_VEX_W_0_0F44_P_2_LEN_1, MOD_VEX_W_1_0F44_P_2_LEN_1,
> MOD_VEX_W_0_0F45_P_0_LEN_1, MOD_VEX_W_1_0F45_P_0_LEN_1,
> MOD_VEX_W_0_0F45_P_2_LEN_1, MOD_VEX_W_1_0F45_P_2_LEN_1,
> MOD_VEX_W_0_0F46_P_0_LEN_1, MOD_VEX_W_1_0F46_P_0_LEN_1,
> MOD_VEX_W_0_0F46_P_2_LEN_1, MOD_VEX_W_1_0F46_P_2_LEN_1,
> MOD_VEX_W_0_0F47_P_0_LEN_1, MOD_VEX_W_1_0F47_P_0_LEN_1,
> MOD_VEX_W_0_0F47_P_2_LEN_1, MOD_VEX_W_1_0F47_P_2_LEN_1,
> MOD_VEX_W_0_0F4A_P_0_LEN_1, MOD_VEX_W_1_0F4A_P_0_LEN_1,
> MOD_VEX_W_0_0F4A_P_2_LEN_1, MOD_VEX_W_1_0F4A_P_2_LEN_1,
> MOD_VEX_W_0_0F4B_P_0_LEN_1, MOD_VEX_W_1_0F4B_P_0_LEN_1,
> MOD_VEX_W_0_0F4B_P_2_LEN_1, MOD_VEX_W_0_0F91_P_0_LEN_0,
> MOD_VEX_W_1_0F91_P_0_LEN_0, MOD_VEX_W_0_0F91_P_2_LEN_0,
> MOD_VEX_W_1_0F91_P_2_LEN_0, MOD_VEX_W_0_0F92_P_0_LEN_0,
> MOD_VEX_W_0_0F92_P_2_LEN_0, MOD_VEX_W_0_0F92_P_3_LEN_0,
> MOD_VEX_W_1_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
> MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_W_0_0F93_P_3_LEN_0,
> MOD_VEX_W_1_0F93_P_3_LEN_0, MOD_VEX_W_0_0F98_P_0_LEN_0,
> MOD_VEX_W_1_0F98_P_0_LEN_0, MOD_VEX_W_0_0F98_P_2_LEN_0,
> MOD_VEX_W_1_0F98_P_2_LEN_0, MOD_VEX_W_0_0F99_P_0_LEN_0,
> MOD_VEX_W_1_0F99_P_0_LEN_0, MOD_VEX_W_0_0F99_P_2_LEN_0,
> MOD_VEX_W_1_0F99_P_2_LEN_0, MOD_VEX_W_0_0F3A30_P_2_LEN_0,
> MOD_VEX_W_1_0F3A30_P_2_LEN_0, MOD_VEX_W_0_0F3A31_P_2_LEN_0,
> MOD_VEX_W_1_0F3A31_P_2_LEN_0, MOD_VEX_W_0_0F3A32_P_2_LEN_0,
> MOD_VEX_W_1_0F3A32_P_2_LEN_0, MOD_VEX_W_0_0F3A33_P_2_LEN_0,
> MOD_VEX_W_1_0F3A33_P_2_LEN_0.
> (vex_w_table) Replace terminals with MOD_TABLE entries for
> most of mask instructions.
>
> gas/testsuite
>
> PR binutils/18257
> * gas/i386/disassem.s Add mask instructions with invalid ModR/M byte.
> * gas/i386/x86-64-disassem.s Likewise.
> * gas/i386/disassem.d Add mask instructions with invalid ModR/M byte disassembly.
>
> ---
> gas/testsuite/gas/i386/disassem.d | 336 +++++++++++++++++++++-
> gas/testsuite/gas/i386/disassem.s | 165 +++++++++++
> gas/testsuite/gas/i386/x86-64-disassem.d | 336 +++++++++++++++++++++-
> gas/testsuite/gas/i386/x86-64-disassem.s | 165 +++++++++++
> opcodes/i386-dis.c | 472 +++++++++++++++++++++++++++----
> 5 files changed, 1409 insertions(+), 65 deletions(-)
>
Please append the new testcases to i386/disassem.s, not
insert them in the beginning. OK with that change.
Thanks.
--
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-19 16:16 ` H.J. Lu
@ 2015-08-19 16:22 ` Alexander Fomin
2015-08-19 16:33 ` H.J. Lu
2015-08-20 11:44 ` Alexander Fomin
1 sibling, 1 reply; 8+ messages in thread
From: Alexander Fomin @ 2015-08-19 16:22 UTC (permalink / raw)
To: H.J. Lu; +Cc: binutils
When appending new testcases, we need to insert a nop padding after
existing testcases.
Is it OK?
Alexander
On Wed, Aug 19, 2015 at 09:16:55AM -0700, H.J. Lu wrote:
> On Wed, Aug 19, 2015 at 9:13 AM, Alexander Fomin
> <afomin.mailbox@gmail.com> wrote:
> > For most of mask instructions, ModRM[7:6] must be 11b.
> > For some of them, ModRM[7:6] must be not 11b.
> > The patch makes disassembler satisfy these constraints.
> >
> > Any objections, comments?
> >
> > Alexander
> > ---
> > opcodes/
> >
> > PR binutils/18257
> > * i386-dis.c Use MOD_TABLE for most of mask instructions.
> > (MOD enum) Add MOD_VEX_W_0_0F41_P_0_LEN_1, MOD_VEX_W_1_0F41_P_0_LEN_1,
> > MOD_VEX_W_0_0F41_P_2_LEN_1, MOD_VEX_W_1_0F41_P_2_LEN_1,
> > MOD_VEX_W_0_0F42_P_0_LEN_1, MOD_VEX_W_1_0F42_P_0_LEN_1,
> > MOD_VEX_W_0_0F42_P_2_LEN_1, MOD_VEX_W_1_0F42_P_2_LEN_1,
> > MOD_VEX_W_0_0F44_P_0_LEN_1, MOD_VEX_W_1_0F44_P_0_LEN_1,
> > MOD_VEX_W_0_0F44_P_2_LEN_1, MOD_VEX_W_1_0F44_P_2_LEN_1,
> > MOD_VEX_W_0_0F45_P_0_LEN_1, MOD_VEX_W_1_0F45_P_0_LEN_1,
> > MOD_VEX_W_0_0F45_P_2_LEN_1, MOD_VEX_W_1_0F45_P_2_LEN_1,
> > MOD_VEX_W_0_0F46_P_0_LEN_1, MOD_VEX_W_1_0F46_P_0_LEN_1,
> > MOD_VEX_W_0_0F46_P_2_LEN_1, MOD_VEX_W_1_0F46_P_2_LEN_1,
> > MOD_VEX_W_0_0F47_P_0_LEN_1, MOD_VEX_W_1_0F47_P_0_LEN_1,
> > MOD_VEX_W_0_0F47_P_2_LEN_1, MOD_VEX_W_1_0F47_P_2_LEN_1,
> > MOD_VEX_W_0_0F4A_P_0_LEN_1, MOD_VEX_W_1_0F4A_P_0_LEN_1,
> > MOD_VEX_W_0_0F4A_P_2_LEN_1, MOD_VEX_W_1_0F4A_P_2_LEN_1,
> > MOD_VEX_W_0_0F4B_P_0_LEN_1, MOD_VEX_W_1_0F4B_P_0_LEN_1,
> > MOD_VEX_W_0_0F4B_P_2_LEN_1, MOD_VEX_W_0_0F91_P_0_LEN_0,
> > MOD_VEX_W_1_0F91_P_0_LEN_0, MOD_VEX_W_0_0F91_P_2_LEN_0,
> > MOD_VEX_W_1_0F91_P_2_LEN_0, MOD_VEX_W_0_0F92_P_0_LEN_0,
> > MOD_VEX_W_0_0F92_P_2_LEN_0, MOD_VEX_W_0_0F92_P_3_LEN_0,
> > MOD_VEX_W_1_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
> > MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_W_0_0F93_P_3_LEN_0,
> > MOD_VEX_W_1_0F93_P_3_LEN_0, MOD_VEX_W_0_0F98_P_0_LEN_0,
> > MOD_VEX_W_1_0F98_P_0_LEN_0, MOD_VEX_W_0_0F98_P_2_LEN_0,
> > MOD_VEX_W_1_0F98_P_2_LEN_0, MOD_VEX_W_0_0F99_P_0_LEN_0,
> > MOD_VEX_W_1_0F99_P_0_LEN_0, MOD_VEX_W_0_0F99_P_2_LEN_0,
> > MOD_VEX_W_1_0F99_P_2_LEN_0, MOD_VEX_W_0_0F3A30_P_2_LEN_0,
> > MOD_VEX_W_1_0F3A30_P_2_LEN_0, MOD_VEX_W_0_0F3A31_P_2_LEN_0,
> > MOD_VEX_W_1_0F3A31_P_2_LEN_0, MOD_VEX_W_0_0F3A32_P_2_LEN_0,
> > MOD_VEX_W_1_0F3A32_P_2_LEN_0, MOD_VEX_W_0_0F3A33_P_2_LEN_0,
> > MOD_VEX_W_1_0F3A33_P_2_LEN_0.
> > (vex_w_table) Replace terminals with MOD_TABLE entries for
> > most of mask instructions.
> >
> > gas/testsuite
> >
> > PR binutils/18257
> > * gas/i386/disassem.s Add mask instructions with invalid ModR/M byte.
> > * gas/i386/x86-64-disassem.s Likewise.
> > * gas/i386/disassem.d Add mask instructions with invalid ModR/M byte disassembly.
> >
> > ---
> > gas/testsuite/gas/i386/disassem.d | 336 +++++++++++++++++++++-
> > gas/testsuite/gas/i386/disassem.s | 165 +++++++++++
> > gas/testsuite/gas/i386/x86-64-disassem.d | 336 +++++++++++++++++++++-
> > gas/testsuite/gas/i386/x86-64-disassem.s | 165 +++++++++++
> > opcodes/i386-dis.c | 472 +++++++++++++++++++++++++++----
> > 5 files changed, 1409 insertions(+), 65 deletions(-)
> >
>
> Please append the new testcases to i386/disassem.s, not
> insert them in the beginning. OK with that change.
>
> Thanks.
>
> --
> H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-19 16:22 ` Alexander Fomin
@ 2015-08-19 16:33 ` H.J. Lu
0 siblings, 0 replies; 8+ messages in thread
From: H.J. Lu @ 2015-08-19 16:33 UTC (permalink / raw)
To: Alexander Fomin; +Cc: Binutils
On Wed, Aug 19, 2015 at 9:22 AM, Alexander Fomin
<afomin.mailbox@gmail.com> wrote:
> When appending new testcases, we need to insert a nop padding after
> existing testcases.
> Is it OK?
>
Yes, it is OK.
--
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-19 16:16 ` H.J. Lu
2015-08-19 16:22 ` Alexander Fomin
@ 2015-08-20 11:44 ` Alexander Fomin
2015-08-20 11:59 ` H.J. Lu
1 sibling, 1 reply; 8+ messages in thread
From: Alexander Fomin @ 2015-08-20 11:44 UTC (permalink / raw)
To: H.J. Lu; +Cc: binutils
On Wed, Aug 19, 2015 at 09:16:55AM -0700, H.J. Lu wrote:
> Please append the new testcases to i386/disassem.s, not
> insert them in the beginning. OK with that change.
>
> Thanks.
>
> --
> H.J.
I've added nop padding and relocated all testcases.
ChangeLog entries have also been updated.
Alexander
---
opcodes/
PR binutils/18257
* i386-dis.c Use MOD_TABLE for most of mask instructions.
(MOD enum) Add MOD_VEX_W_0_0F41_P_0_LEN_1, MOD_VEX_W_1_0F41_P_0_LEN_1,
MOD_VEX_W_0_0F41_P_2_LEN_1, MOD_VEX_W_1_0F41_P_2_LEN_1,
MOD_VEX_W_0_0F42_P_0_LEN_1, MOD_VEX_W_1_0F42_P_0_LEN_1,
MOD_VEX_W_0_0F42_P_2_LEN_1, MOD_VEX_W_1_0F42_P_2_LEN_1,
MOD_VEX_W_0_0F44_P_0_LEN_1, MOD_VEX_W_1_0F44_P_0_LEN_1,
MOD_VEX_W_0_0F44_P_2_LEN_1, MOD_VEX_W_1_0F44_P_2_LEN_1,
MOD_VEX_W_0_0F45_P_0_LEN_1, MOD_VEX_W_1_0F45_P_0_LEN_1,
MOD_VEX_W_0_0F45_P_2_LEN_1, MOD_VEX_W_1_0F45_P_2_LEN_1,
MOD_VEX_W_0_0F46_P_0_LEN_1, MOD_VEX_W_1_0F46_P_0_LEN_1,
MOD_VEX_W_0_0F46_P_2_LEN_1, MOD_VEX_W_1_0F46_P_2_LEN_1,
MOD_VEX_W_0_0F47_P_0_LEN_1, MOD_VEX_W_1_0F47_P_0_LEN_1,
MOD_VEX_W_0_0F47_P_2_LEN_1, MOD_VEX_W_1_0F47_P_2_LEN_1,
MOD_VEX_W_0_0F4A_P_0_LEN_1, MOD_VEX_W_1_0F4A_P_0_LEN_1,
MOD_VEX_W_0_0F4A_P_2_LEN_1, MOD_VEX_W_1_0F4A_P_2_LEN_1,
MOD_VEX_W_0_0F4B_P_0_LEN_1, MOD_VEX_W_1_0F4B_P_0_LEN_1,
MOD_VEX_W_0_0F4B_P_2_LEN_1, MOD_VEX_W_0_0F91_P_0_LEN_0,
MOD_VEX_W_1_0F91_P_0_LEN_0, MOD_VEX_W_0_0F91_P_2_LEN_0,
MOD_VEX_W_1_0F91_P_2_LEN_0, MOD_VEX_W_0_0F92_P_0_LEN_0,
MOD_VEX_W_0_0F92_P_2_LEN_0, MOD_VEX_W_0_0F92_P_3_LEN_0,
MOD_VEX_W_1_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_W_0_0F93_P_3_LEN_0,
MOD_VEX_W_1_0F93_P_3_LEN_0, MOD_VEX_W_0_0F98_P_0_LEN_0,
MOD_VEX_W_1_0F98_P_0_LEN_0, MOD_VEX_W_0_0F98_P_2_LEN_0,
MOD_VEX_W_1_0F98_P_2_LEN_0, MOD_VEX_W_0_0F99_P_0_LEN_0,
MOD_VEX_W_1_0F99_P_0_LEN_0, MOD_VEX_W_0_0F99_P_2_LEN_0,
MOD_VEX_W_1_0F99_P_2_LEN_0, MOD_VEX_W_0_0F3A30_P_2_LEN_0,
MOD_VEX_W_1_0F3A30_P_2_LEN_0, MOD_VEX_W_0_0F3A31_P_2_LEN_0,
MOD_VEX_W_1_0F3A31_P_2_LEN_0, MOD_VEX_W_0_0F3A32_P_2_LEN_0,
MOD_VEX_W_1_0F3A32_P_2_LEN_0, MOD_VEX_W_0_0F3A33_P_2_LEN_0,
MOD_VEX_W_1_0F3A33_P_2_LEN_0.
(vex_w_table) Replace terminals with MOD_TABLE entries for
most of mask instructions.
gas/testsuite
PR binutils/18257
* gas/i386/disassem.s Add mask instructions with invalid ModR/M byte.
Add nop padding for existing instructions.
* gas/i386/x86-64-disassem.s Likewise.
* gas/i386/disassem.d Add mask instructions with invalid ModR/M byte disassembly.
Update disassembly for existing instructions to reflect nop padding.
* gas/i386/x86-64-disassem.d Likewise.
---
gas/testsuite/gas/i386/disassem.d | 332 +++++++++++++++++++++-
gas/testsuite/gas/i386/disassem.s | 166 +++++++++++
gas/testsuite/gas/i386/x86-64-disassem.d | 332 +++++++++++++++++++++-
gas/testsuite/gas/i386/x86-64-disassem.s | 166 +++++++++++
opcodes/i386-dis.c | 472 +++++++++++++++++++++++++++----
5 files changed, 1407 insertions(+), 61 deletions(-)
diff --git a/gas/testsuite/gas/i386/disassem.d b/gas/testsuite/gas/i386/disassem.d
index d8c6d61..2f39662 100644
--- a/gas/testsuite/gas/i386/disassem.d
+++ b/gas/testsuite/gas/i386/disassem.d
@@ -10,5 +10,335 @@ Disassembly of section \.text:
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
[ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\)
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
-[ ]*[a-f0-9]+:[ ]*d8[ ]*\.byte 0xd8
+[ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%eax\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
#pass
diff --git a/gas/testsuite/gas/i386/disassem.s b/gas/testsuite/gas/i386/disassem.s
index 81b0ef3..2e6c157 100644
--- a/gas/testsuite/gas/i386/disassem.s
+++ b/gas/testsuite/gas/i386/disassem.s
@@ -1,3 +1,169 @@
.text
.byte 0xFF, 0xEF
.byte 0xFF, 0xD8
+.fill 0x5, 0x1, 0x90
+.byte 0xC5, 0xEC, 0x4A, 0x9B
+.byte 0xC5, 0xEC, 0x4A, 0x6F
+.byte 0xC5, 0xEC, 0x4A, 0x3F
+.byte 0xC5, 0xED, 0x4A, 0x9B
+.byte 0xC5, 0xED, 0x4A, 0x6F
+.byte 0xC5, 0xED, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x3F
+.byte 0xC5, 0xEC, 0x41, 0x9B
+.byte 0xC5, 0xEC, 0x41, 0x6F
+.byte 0xC5, 0xEC, 0x41, 0x3F
+.byte 0xC5, 0xED, 0x41, 0x9B
+.byte 0xC5, 0xED, 0x41, 0x6F
+.byte 0xC5, 0xED, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x3F
+.byte 0xC5, 0xEC, 0x42, 0x9B
+.byte 0xC5, 0xEC, 0x42, 0x6F
+.byte 0xC5, 0xEC, 0x42, 0x3F
+.byte 0xC5, 0xED, 0x42, 0x9B
+.byte 0xC5, 0xED, 0x42, 0x6F
+.byte 0xC5, 0xED, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x3F
+.byte 0xC5, 0xEC, 0x4B, 0x9B
+.byte 0xC5, 0xEC, 0x4B, 0x6F
+.byte 0xC5, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xED, 0x4B, 0x9B
+.byte 0xC5, 0xED, 0x4B, 0x6F
+.byte 0xC5, 0xED, 0x4B, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xF8, 0x44, 0x9B
+.byte 0xC5, 0xF8, 0x44, 0x6F
+.byte 0xC5, 0xF8, 0x44, 0x3F
+.byte 0xC5, 0xF9, 0x44, 0x9B
+.byte 0xC5, 0xF9, 0x44, 0x6F
+.byte 0xC5, 0xF9, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x3F
+.byte 0xC5, 0xEC, 0x45, 0x9B
+.byte 0xC5, 0xEC, 0x45, 0x6F
+.byte 0xC5, 0xEC, 0x45, 0x3F
+.byte 0xC5, 0xED, 0x45, 0x9B
+.byte 0xC5, 0xED, 0x45, 0x6F
+.byte 0xC5, 0xED, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x3F
+.byte 0xC5, 0xF8, 0x98, 0x9B
+.byte 0xC5, 0xF8, 0x98, 0x6F
+.byte 0xC5, 0xF8, 0x98, 0x3F
+.byte 0xC5, 0xF9, 0x98, 0x9B
+.byte 0xC5, 0xF9, 0x98, 0x6F
+.byte 0xC5, 0xF9, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x3F
+.byte 0xC5, 0xEC, 0x46, 0x9B
+.byte 0xC5, 0xEC, 0x46, 0x6F
+.byte 0xC5, 0xEC, 0x46, 0x3F
+.byte 0xC5, 0xED, 0x46, 0x9B
+.byte 0xC5, 0xED, 0x46, 0x6F
+.byte 0xC5, 0xED, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x3F
+.byte 0xC5, 0xEC, 0x47, 0x9B
+.byte 0xC5, 0xEC, 0x47, 0x6F
+.byte 0xC5, 0xEC, 0x47, 0x3F
+.byte 0xC5, 0xED, 0x47, 0x9B
+.byte 0xC5, 0xED, 0x47, 0x6F
+.byte 0xC5, 0xED, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x3F
+.byte 0xC5, 0xF8, 0x99, 0x9B
+.byte 0xC5, 0xF8, 0x99, 0x6F
+.byte 0xC5, 0xF8, 0x99, 0x3F
+.byte 0xC5, 0xF9, 0x99, 0x9B
+.byte 0xC5, 0xF9, 0x99, 0x6F
+.byte 0xC5, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01
+.byte 0xC5, 0xF8, 0x92, 0x9B
+.byte 0xC5, 0xF8, 0x92, 0x6F
+.byte 0xC5, 0xF8, 0x92, 0x3F
+.byte 0xC5, 0xF9, 0x92, 0x9B
+.byte 0xC5, 0xF9, 0x92, 0x6F
+.byte 0xC5, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xFB, 0x92, 0x9B
+.byte 0xC5, 0xFB, 0x92, 0x6F
+.byte 0xC5, 0xFB, 0x92, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xF8, 0x93, 0x9B
+.byte 0xC5, 0xF8, 0x93, 0x6F
+.byte 0xC5, 0xF8, 0x93, 0x3F
+.byte 0xC5, 0xF9, 0x93, 0x9B
+.byte 0xC5, 0xF9, 0x93, 0x6F
+.byte 0xC5, 0xF9, 0x93, 0x3F
+.byte 0xC5, 0xFB, 0x93, 0x9B
+.byte 0xC5, 0xFB, 0x93, 0x6F
+.byte 0xC5, 0xFB, 0x93, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x3F
diff --git a/gas/testsuite/gas/i386/x86-64-disassem.d b/gas/testsuite/gas/i386/x86-64-disassem.d
index 8662af9..f21bab0 100644
--- a/gas/testsuite/gas/i386/x86-64-disassem.d
+++ b/gas/testsuite/gas/i386/x86-64-disassem.d
@@ -10,5 +10,335 @@ Disassembly of section \.text:
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
[ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\)
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
-[ ]*[a-f0-9]+:[ ]*d8[ ]*\.byte 0xd8
+[ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%rax\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-disassem.s b/gas/testsuite/gas/i386/x86-64-disassem.s
index 81b0ef3..2e6c157 100644
--- a/gas/testsuite/gas/i386/x86-64-disassem.s
+++ b/gas/testsuite/gas/i386/x86-64-disassem.s
@@ -1,3 +1,169 @@
.text
.byte 0xFF, 0xEF
.byte 0xFF, 0xD8
+.fill 0x5, 0x1, 0x90
+.byte 0xC5, 0xEC, 0x4A, 0x9B
+.byte 0xC5, 0xEC, 0x4A, 0x6F
+.byte 0xC5, 0xEC, 0x4A, 0x3F
+.byte 0xC5, 0xED, 0x4A, 0x9B
+.byte 0xC5, 0xED, 0x4A, 0x6F
+.byte 0xC5, 0xED, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x3F
+.byte 0xC5, 0xEC, 0x41, 0x9B
+.byte 0xC5, 0xEC, 0x41, 0x6F
+.byte 0xC5, 0xEC, 0x41, 0x3F
+.byte 0xC5, 0xED, 0x41, 0x9B
+.byte 0xC5, 0xED, 0x41, 0x6F
+.byte 0xC5, 0xED, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x3F
+.byte 0xC5, 0xEC, 0x42, 0x9B
+.byte 0xC5, 0xEC, 0x42, 0x6F
+.byte 0xC5, 0xEC, 0x42, 0x3F
+.byte 0xC5, 0xED, 0x42, 0x9B
+.byte 0xC5, 0xED, 0x42, 0x6F
+.byte 0xC5, 0xED, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x3F
+.byte 0xC5, 0xEC, 0x4B, 0x9B
+.byte 0xC5, 0xEC, 0x4B, 0x6F
+.byte 0xC5, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xED, 0x4B, 0x9B
+.byte 0xC5, 0xED, 0x4B, 0x6F
+.byte 0xC5, 0xED, 0x4B, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xF8, 0x44, 0x9B
+.byte 0xC5, 0xF8, 0x44, 0x6F
+.byte 0xC5, 0xF8, 0x44, 0x3F
+.byte 0xC5, 0xF9, 0x44, 0x9B
+.byte 0xC5, 0xF9, 0x44, 0x6F
+.byte 0xC5, 0xF9, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x3F
+.byte 0xC5, 0xEC, 0x45, 0x9B
+.byte 0xC5, 0xEC, 0x45, 0x6F
+.byte 0xC5, 0xEC, 0x45, 0x3F
+.byte 0xC5, 0xED, 0x45, 0x9B
+.byte 0xC5, 0xED, 0x45, 0x6F
+.byte 0xC5, 0xED, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x3F
+.byte 0xC5, 0xF8, 0x98, 0x9B
+.byte 0xC5, 0xF8, 0x98, 0x6F
+.byte 0xC5, 0xF8, 0x98, 0x3F
+.byte 0xC5, 0xF9, 0x98, 0x9B
+.byte 0xC5, 0xF9, 0x98, 0x6F
+.byte 0xC5, 0xF9, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x3F
+.byte 0xC5, 0xEC, 0x46, 0x9B
+.byte 0xC5, 0xEC, 0x46, 0x6F
+.byte 0xC5, 0xEC, 0x46, 0x3F
+.byte 0xC5, 0xED, 0x46, 0x9B
+.byte 0xC5, 0xED, 0x46, 0x6F
+.byte 0xC5, 0xED, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x3F
+.byte 0xC5, 0xEC, 0x47, 0x9B
+.byte 0xC5, 0xEC, 0x47, 0x6F
+.byte 0xC5, 0xEC, 0x47, 0x3F
+.byte 0xC5, 0xED, 0x47, 0x9B
+.byte 0xC5, 0xED, 0x47, 0x6F
+.byte 0xC5, 0xED, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x3F
+.byte 0xC5, 0xF8, 0x99, 0x9B
+.byte 0xC5, 0xF8, 0x99, 0x6F
+.byte 0xC5, 0xF8, 0x99, 0x3F
+.byte 0xC5, 0xF9, 0x99, 0x9B
+.byte 0xC5, 0xF9, 0x99, 0x6F
+.byte 0xC5, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01
+.byte 0xC5, 0xF8, 0x92, 0x9B
+.byte 0xC5, 0xF8, 0x92, 0x6F
+.byte 0xC5, 0xF8, 0x92, 0x3F
+.byte 0xC5, 0xF9, 0x92, 0x9B
+.byte 0xC5, 0xF9, 0x92, 0x6F
+.byte 0xC5, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xFB, 0x92, 0x9B
+.byte 0xC5, 0xFB, 0x92, 0x6F
+.byte 0xC5, 0xFB, 0x92, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xF8, 0x93, 0x9B
+.byte 0xC5, 0xF8, 0x93, 0x6F
+.byte 0xC5, 0xF8, 0x93, 0x3F
+.byte 0xC5, 0xF9, 0x93, 0x9B
+.byte 0xC5, 0xF9, 0x93, 0x6F
+.byte 0xC5, 0xF9, 0x93, 0x3F
+.byte 0xC5, 0xFB, 0x93, 0x9B
+.byte 0xC5, 0xFB, 0x93, 0x6F
+.byte 0xC5, 0xFB, 0x93, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x3F
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index e590e24..055b38f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -820,6 +820,37 @@ enum
MOD_VEX_0F16_PREFIX_0,
MOD_VEX_0F17,
MOD_VEX_0F2B,
+ MOD_VEX_W_0_0F41_P_0_LEN_1,
+ MOD_VEX_W_1_0F41_P_0_LEN_1,
+ MOD_VEX_W_0_0F41_P_2_LEN_1,
+ MOD_VEX_W_1_0F41_P_2_LEN_1,
+ MOD_VEX_W_0_0F42_P_0_LEN_1,
+ MOD_VEX_W_1_0F42_P_0_LEN_1,
+ MOD_VEX_W_0_0F42_P_2_LEN_1,
+ MOD_VEX_W_1_0F42_P_2_LEN_1,
+ MOD_VEX_W_0_0F44_P_0_LEN_1,
+ MOD_VEX_W_1_0F44_P_0_LEN_1,
+ MOD_VEX_W_0_0F44_P_2_LEN_1,
+ MOD_VEX_W_1_0F44_P_2_LEN_1,
+ MOD_VEX_W_0_0F45_P_0_LEN_1,
+ MOD_VEX_W_1_0F45_P_0_LEN_1,
+ MOD_VEX_W_0_0F45_P_2_LEN_1,
+ MOD_VEX_W_1_0F45_P_2_LEN_1,
+ MOD_VEX_W_0_0F46_P_0_LEN_1,
+ MOD_VEX_W_1_0F46_P_0_LEN_1,
+ MOD_VEX_W_0_0F46_P_2_LEN_1,
+ MOD_VEX_W_1_0F46_P_2_LEN_1,
+ MOD_VEX_W_0_0F47_P_0_LEN_1,
+ MOD_VEX_W_1_0F47_P_0_LEN_1,
+ MOD_VEX_W_0_0F47_P_2_LEN_1,
+ MOD_VEX_W_1_0F47_P_2_LEN_1,
+ MOD_VEX_W_0_0F4A_P_0_LEN_1,
+ MOD_VEX_W_1_0F4A_P_0_LEN_1,
+ MOD_VEX_W_0_0F4A_P_2_LEN_1,
+ MOD_VEX_W_1_0F4A_P_2_LEN_1,
+ MOD_VEX_W_0_0F4B_P_0_LEN_1,
+ MOD_VEX_W_1_0F4B_P_0_LEN_1,
+ MOD_VEX_W_0_0F4B_P_2_LEN_1,
MOD_VEX_0F50,
MOD_VEX_0F71_REG_2,
MOD_VEX_0F71_REG_4,
@@ -831,6 +862,26 @@ enum
MOD_VEX_0F73_REG_3,
MOD_VEX_0F73_REG_6,
MOD_VEX_0F73_REG_7,
+ MOD_VEX_W_0_0F91_P_0_LEN_0,
+ MOD_VEX_W_1_0F91_P_0_LEN_0,
+ MOD_VEX_W_0_0F91_P_2_LEN_0,
+ MOD_VEX_W_1_0F91_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_0_LEN_0,
+ MOD_VEX_W_0_0F92_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_3_LEN_0,
+ MOD_VEX_W_1_0F92_P_3_LEN_0,
+ MOD_VEX_W_0_0F93_P_0_LEN_0,
+ MOD_VEX_W_0_0F93_P_2_LEN_0,
+ MOD_VEX_W_0_0F93_P_3_LEN_0,
+ MOD_VEX_W_1_0F93_P_3_LEN_0,
+ MOD_VEX_W_0_0F98_P_0_LEN_0,
+ MOD_VEX_W_1_0F98_P_0_LEN_0,
+ MOD_VEX_W_0_0F98_P_2_LEN_0,
+ MOD_VEX_W_1_0F98_P_2_LEN_0,
+ MOD_VEX_W_0_0F99_P_0_LEN_0,
+ MOD_VEX_W_1_0F99_P_0_LEN_0,
+ MOD_VEX_W_0_0F99_P_2_LEN_0,
+ MOD_VEX_W_1_0F99_P_2_LEN_0,
MOD_VEX_0FAE_REG_2,
MOD_VEX_0FAE_REG_3,
MOD_VEX_0FD7_PREFIX_2,
@@ -845,6 +896,14 @@ enum
MOD_VEX_0F385A_PREFIX_2,
MOD_VEX_0F388C_PREFIX_2,
MOD_VEX_0F388E_PREFIX_2,
+ MOD_VEX_W_0_0F3A30_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A30_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A31_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A31_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A32_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A32_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A33_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A33_P_2_LEN_0,
MOD_EVEX_0F10_PREFIX_1,
MOD_EVEX_0F10_PREFIX_3,
@@ -10446,82 +10505,82 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F41_P_0_LEN_1 */
- { "kandw", { MaskG, MaskVex, MaskR }, 0 },
- { "kandq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F41_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F41_P_0_LEN_1) },
},
{
/* VEX_W_0F41_P_2_LEN_1 */
- { "kandb", { MaskG, MaskVex, MaskR }, 0 },
- { "kandd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F41_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F41_P_2_LEN_1) }
},
{
/* VEX_W_0F42_P_0_LEN_1 */
- { "kandnw", { MaskG, MaskVex, MaskR }, 0 },
- { "kandnq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F42_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F42_P_0_LEN_1) },
},
{
/* VEX_W_0F42_P_2_LEN_1 */
- { "kandnb", { MaskG, MaskVex, MaskR }, 0 },
- { "kandnd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F42_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F42_P_2_LEN_1) },
},
{
/* VEX_W_0F44_P_0_LEN_0 */
- { "knotw", { MaskG, MaskR }, 0 },
- { "knotq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F44_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F44_P_0_LEN_1) },
},
{
/* VEX_W_0F44_P_2_LEN_0 */
- { "knotb", { MaskG, MaskR }, 0 },
- { "knotd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F44_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F44_P_2_LEN_1) },
},
{
/* VEX_W_0F45_P_0_LEN_1 */
- { "korw", { MaskG, MaskVex, MaskR }, 0 },
- { "korq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F45_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F45_P_0_LEN_1) },
},
{
/* VEX_W_0F45_P_2_LEN_1 */
- { "korb", { MaskG, MaskVex, MaskR }, 0 },
- { "kord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F45_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F45_P_2_LEN_1) },
},
{
/* VEX_W_0F46_P_0_LEN_1 */
- { "kxnorw", { MaskG, MaskVex, MaskR }, 0 },
- { "kxnorq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F46_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F46_P_0_LEN_1) },
},
{
/* VEX_W_0F46_P_2_LEN_1 */
- { "kxnorb", { MaskG, MaskVex, MaskR }, 0 },
- { "kxnord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F46_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F46_P_2_LEN_1) },
},
{
/* VEX_W_0F47_P_0_LEN_1 */
- { "kxorw", { MaskG, MaskVex, MaskR }, 0 },
- { "kxorq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F47_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F47_P_0_LEN_1) },
},
{
/* VEX_W_0F47_P_2_LEN_1 */
- { "kxorb", { MaskG, MaskVex, MaskR }, 0 },
- { "kxord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F47_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F47_P_2_LEN_1) },
},
{
/* VEX_W_0F4A_P_0_LEN_1 */
- { "kaddw", { MaskG, MaskVex, MaskR }, 0 },
- { "kaddq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4A_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4A_P_0_LEN_1) },
},
{
/* VEX_W_0F4A_P_2_LEN_1 */
- { "kaddb", { MaskG, MaskVex, MaskR }, 0 },
- { "kaddd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4A_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4A_P_2_LEN_1) },
},
{
/* VEX_W_0F4B_P_0_LEN_1 */
- { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 },
- { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4B_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4B_P_0_LEN_1) },
},
{
/* VEX_W_0F4B_P_2_LEN_1 */
- { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4B_P_2_LEN_1) },
},
{
/* VEX_W_0F50_M_0 */
@@ -10851,59 +10910,59 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F91_P_0_LEN_0 */
- { "kmovw", { Ew, MaskG }, 0 },
- { "kmovq", { Eq, MaskG }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F91_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F91_P_0_LEN_0) },
},
{
/* VEX_W_0F91_P_2_LEN_0 */
- { "kmovb", { Eb, MaskG }, 0 },
- { "kmovd", { Ed, MaskG }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F91_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F91_P_2_LEN_0) },
},
{
/* VEX_W_0F92_P_0_LEN_0 */
- { "kmovw", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_0_LEN_0) },
},
{
/* VEX_W_0F92_P_2_LEN_0 */
- { "kmovb", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_2_LEN_0) },
},
{
/* VEX_W_0F92_P_3_LEN_0 */
- { "kmovd", { MaskG, Rdq }, 0 },
- { "kmovq", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_3_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F92_P_3_LEN_0) },
},
{
/* VEX_W_0F93_P_0_LEN_0 */
- { "kmovw", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_0_LEN_0) },
},
{
/* VEX_W_0F93_P_2_LEN_0 */
- { "kmovb", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_2_LEN_0) },
},
{
/* VEX_W_0F93_P_3_LEN_0 */
- { "kmovd", { Gdq, MaskR }, 0 },
- { "kmovq", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_3_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F93_P_3_LEN_0) },
},
{
/* VEX_W_0F98_P_0_LEN_0 */
- { "kortestw", { MaskG, MaskR }, 0 },
- { "kortestq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F98_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F98_P_0_LEN_0) },
},
{
/* VEX_W_0F98_P_2_LEN_0 */
- { "kortestb", { MaskG, MaskR }, 0 },
- { "kortestd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F98_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F98_P_2_LEN_0) },
},
{
/* VEX_W_0F99_P_0_LEN_0 */
- { "ktestw", { MaskG, MaskR }, 0 },
- { "ktestq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F99_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F99_P_0_LEN_0) },
},
{
/* VEX_W_0F99_P_2_LEN_0 */
- { "ktestb", { MaskG, MaskR }, 0 },
- { "ktestd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F99_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F99_P_2_LEN_0) },
},
{
/* VEX_W_0FAE_R_2_M_0 */
@@ -11489,23 +11548,23 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F3A30_P_2_LEN_0 */
- { "kshiftrb", { MaskG, MaskR, Ib }, 0 },
- { "kshiftrw", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A30_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A30_P_2_LEN_0) },
},
{
/* VEX_W_0F3A31_P_2_LEN_0 */
- { "kshiftrd", { MaskG, MaskR, Ib }, 0 },
- { "kshiftrq", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A31_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A31_P_2_LEN_0) },
},
{
/* VEX_W_0F3A32_P_2_LEN_0 */
- { "kshiftlb", { MaskG, MaskR, Ib }, 0 },
- { "kshiftlw", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A32_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A32_P_2_LEN_0) },
},
{
/* VEX_W_0F3A33_P_2_LEN_0 */
- { "kshiftld", { MaskG, MaskR, Ib }, 0 },
- { "kshiftlq", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A33_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A33_P_2_LEN_0) },
},
{
/* VEX_W_0F3A38_P_2 */
@@ -11908,6 +11967,161 @@ static const struct dis386 mod_table[][2] = {
{ VEX_W_TABLE (VEX_W_0F2B_M_0) },
},
{
+ /* MOD_VEX_W_0_0F41_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F41_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F41_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F41_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F42_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandnw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F42_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandnq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F42_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandnb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F42_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandnd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F44_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "knotw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F44_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "knotq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F44_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "knotb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F44_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "knotd", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F45_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "korw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F45_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "korq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F45_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "korb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F45_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F46_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F46_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F46_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F46_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxnord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F47_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxorw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F47_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxorq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F47_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxorb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F47_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4A_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kaddw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4A_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kaddq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4A_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kaddb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4A_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kaddd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4B_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4B_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4B_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
/* MOD_VEX_0F50 */
{ Bad_Opcode },
{ VEX_W_TABLE (VEX_W_0F50_M_0) },
@@ -11963,6 +12177,106 @@ static const struct dis386 mod_table[][2] = {
{ PREFIX_TABLE (PREFIX_VEX_0F73_REG_7) },
},
{
+ /* MOD_VEX_W_0_0F91_P_0_LEN_0 */
+ { "kmovw", { Ew, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_0_LEN_0 */
+ { "kmovq", { Eq, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_2_LEN_0 */
+ { "kmovb", { Eb, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_2_LEN_0 */
+ { "kmovd", { Ed, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kmovw", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kmovb", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovd", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F92_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovq", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kmovw", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kmovb", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovd", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F93_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovq", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F98_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kortestw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F98_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kortestq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F98_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kortestb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F98_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kortestd", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F99_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "ktestw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F99_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "ktestq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F99_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "ktestb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F99_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "ktestd", { MaskG, MaskR }, 0 },
+ },
+ {
/* MOD_VEX_0FAE_REG_2 */
{ VEX_LEN_TABLE (VEX_LEN_0FAE_R_2_M_0) },
},
@@ -12019,6 +12333,46 @@ static const struct dis386 mod_table[][2] = {
/* MOD_VEX_0F388E_PREFIX_2 */
{ "vpmaskmov%LW", { Mx, Vex, XM }, 0 },
},
+ {
+ /* MOD_VEX_W_0_0F3A30_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrb", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A30_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrw", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A31_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrd", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A31_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrq", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A32_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlb", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A32_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlw", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A33_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftld", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A33_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlq", { MaskG, MaskR, Ib }, 0 },
+ },
#define NEED_MOD_TABLE
#include "i386-dis-evex.h"
#undef NEED_MOD_TABLE
--
1.8.3.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-20 11:44 ` Alexander Fomin
@ 2015-08-20 11:59 ` H.J. Lu
2015-08-20 12:14 ` Alexander Fomin
0 siblings, 1 reply; 8+ messages in thread
From: H.J. Lu @ 2015-08-20 11:59 UTC (permalink / raw)
To: Alexander Fomin; +Cc: Binutils
On Thu, Aug 20, 2015 at 4:44 AM, Alexander Fomin
<afomin.mailbox@gmail.com> wrote:
> On Wed, Aug 19, 2015 at 09:16:55AM -0700, H.J. Lu wrote:
>> Please append the new testcases to i386/disassem.s, not
>> insert them in the beginning. OK with that change.
>>
>> Thanks.
>>
>> --
>> H.J.
>
> I've added nop padding and relocated all testcases.
> ChangeLog entries have also been updated.
Please fix ChangeLog entries.
> Alexander
> ---
> opcodes/
>
> PR binutils/18257
> * i386-dis.c Use MOD_TABLE for most of mask instructions.
^ Missing `:' .
> (MOD enum) Add MOD_VEX_W_0_0F41_P_0_LEN_1,
MOD_VEX_W_1_0F41_P_0_LEN_1,
^ Missing `:' .
> MOD_VEX_W_0_0F41_P_2_LEN_1, MOD_VEX_W_1_0F41_P_2_LEN_1,
> MOD_VEX_W_0_0F42_P_0_LEN_1, MOD_VEX_W_1_0F42_P_0_LEN_1,
> MOD_VEX_W_0_0F42_P_2_LEN_1, MOD_VEX_W_1_0F42_P_2_LEN_1,
> MOD_VEX_W_0_0F44_P_0_LEN_1, MOD_VEX_W_1_0F44_P_0_LEN_1,
> MOD_VEX_W_0_0F44_P_2_LEN_1, MOD_VEX_W_1_0F44_P_2_LEN_1,
> MOD_VEX_W_0_0F45_P_0_LEN_1, MOD_VEX_W_1_0F45_P_0_LEN_1,
> MOD_VEX_W_0_0F45_P_2_LEN_1, MOD_VEX_W_1_0F45_P_2_LEN_1,
> MOD_VEX_W_0_0F46_P_0_LEN_1, MOD_VEX_W_1_0F46_P_0_LEN_1,
> MOD_VEX_W_0_0F46_P_2_LEN_1, MOD_VEX_W_1_0F46_P_2_LEN_1,
> MOD_VEX_W_0_0F47_P_0_LEN_1, MOD_VEX_W_1_0F47_P_0_LEN_1,
> MOD_VEX_W_0_0F47_P_2_LEN_1, MOD_VEX_W_1_0F47_P_2_LEN_1,
> MOD_VEX_W_0_0F4A_P_0_LEN_1, MOD_VEX_W_1_0F4A_P_0_LEN_1,
> MOD_VEX_W_0_0F4A_P_2_LEN_1, MOD_VEX_W_1_0F4A_P_2_LEN_1,
> MOD_VEX_W_0_0F4B_P_0_LEN_1, MOD_VEX_W_1_0F4B_P_0_LEN_1,
> MOD_VEX_W_0_0F4B_P_2_LEN_1, MOD_VEX_W_0_0F91_P_0_LEN_0,
> MOD_VEX_W_1_0F91_P_0_LEN_0, MOD_VEX_W_0_0F91_P_2_LEN_0,
> MOD_VEX_W_1_0F91_P_2_LEN_0, MOD_VEX_W_0_0F92_P_0_LEN_0,
> MOD_VEX_W_0_0F92_P_2_LEN_0, MOD_VEX_W_0_0F92_P_3_LEN_0,
> MOD_VEX_W_1_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
> MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_W_0_0F93_P_3_LEN_0,
> MOD_VEX_W_1_0F93_P_3_LEN_0, MOD_VEX_W_0_0F98_P_0_LEN_0,
> MOD_VEX_W_1_0F98_P_0_LEN_0, MOD_VEX_W_0_0F98_P_2_LEN_0,
> MOD_VEX_W_1_0F98_P_2_LEN_0, MOD_VEX_W_0_0F99_P_0_LEN_0,
> MOD_VEX_W_1_0F99_P_0_LEN_0, MOD_VEX_W_0_0F99_P_2_LEN_0,
> MOD_VEX_W_1_0F99_P_2_LEN_0, MOD_VEX_W_0_0F3A30_P_2_LEN_0,
> MOD_VEX_W_1_0F3A30_P_2_LEN_0, MOD_VEX_W_0_0F3A31_P_2_LEN_0,
> MOD_VEX_W_1_0F3A31_P_2_LEN_0, MOD_VEX_W_0_0F3A32_P_2_LEN_0,
> MOD_VEX_W_1_0F3A32_P_2_LEN_0, MOD_VEX_W_0_0F3A33_P_2_LEN_0,
> MOD_VEX_W_1_0F3A33_P_2_LEN_0.
> (vex_w_table) Replace terminals with MOD_TABLE entries for
^ Missing `:' .
> most of mask instructions.
>
> gas/testsuite
>
> PR binutils/18257
> * gas/i386/disassem.s Add mask instructions with invalid ModR/M byte.
^ Missing `:' .
> Add nop padding for existing instructions.
> * gas/i386/x86-64-disassem.s Likewise
^ Missing `:' .
> * gas/i386/disassem.d Add mask instructions with invalid ModR/M byte disassembly.
> Update disassembly for existing instructions to reflect nop padding.
Just use
* gas/i386/disassem.d: Updated.
> * gas/i386/x86-64-disassem.d Likewise.
>
>
OK with the fixed ChangeLog entries.
Thanks.
--
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-20 11:59 ` H.J. Lu
@ 2015-08-20 12:14 ` Alexander Fomin
2015-08-20 12:35 ` H.J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Fomin @ 2015-08-20 12:14 UTC (permalink / raw)
To: H.J. Lu; +Cc: binutils
On Thu, Aug 20, 2015 at 04:59:47AM -0700, H.J. Lu wrote:
> Please fix ChangeLog entries.
>
> OK with the fixed ChangeLog entries.
>
> Thanks.
>
>
> --
> H.J.
Done.
Thanks for objections.
Alexander
---
opcodes/
PR binutils/18257
* i386-dis.c: Use MOD_TABLE for most of mask instructions.
(MOD enum): Add MOD_VEX_W_0_0F41_P_0_LEN_1, MOD_VEX_W_1_0F41_P_0_LEN_1,
MOD_VEX_W_0_0F41_P_2_LEN_1, MOD_VEX_W_1_0F41_P_2_LEN_1,
MOD_VEX_W_0_0F42_P_0_LEN_1, MOD_VEX_W_1_0F42_P_0_LEN_1,
MOD_VEX_W_0_0F42_P_2_LEN_1, MOD_VEX_W_1_0F42_P_2_LEN_1,
MOD_VEX_W_0_0F44_P_0_LEN_1, MOD_VEX_W_1_0F44_P_0_LEN_1,
MOD_VEX_W_0_0F44_P_2_LEN_1, MOD_VEX_W_1_0F44_P_2_LEN_1,
MOD_VEX_W_0_0F45_P_0_LEN_1, MOD_VEX_W_1_0F45_P_0_LEN_1,
MOD_VEX_W_0_0F45_P_2_LEN_1, MOD_VEX_W_1_0F45_P_2_LEN_1,
MOD_VEX_W_0_0F46_P_0_LEN_1, MOD_VEX_W_1_0F46_P_0_LEN_1,
MOD_VEX_W_0_0F46_P_2_LEN_1, MOD_VEX_W_1_0F46_P_2_LEN_1,
MOD_VEX_W_0_0F47_P_0_LEN_1, MOD_VEX_W_1_0F47_P_0_LEN_1,
MOD_VEX_W_0_0F47_P_2_LEN_1, MOD_VEX_W_1_0F47_P_2_LEN_1,
MOD_VEX_W_0_0F4A_P_0_LEN_1, MOD_VEX_W_1_0F4A_P_0_LEN_1,
MOD_VEX_W_0_0F4A_P_2_LEN_1, MOD_VEX_W_1_0F4A_P_2_LEN_1,
MOD_VEX_W_0_0F4B_P_0_LEN_1, MOD_VEX_W_1_0F4B_P_0_LEN_1,
MOD_VEX_W_0_0F4B_P_2_LEN_1, MOD_VEX_W_0_0F91_P_0_LEN_0,
MOD_VEX_W_1_0F91_P_0_LEN_0, MOD_VEX_W_0_0F91_P_2_LEN_0,
MOD_VEX_W_1_0F91_P_2_LEN_0, MOD_VEX_W_0_0F92_P_0_LEN_0,
MOD_VEX_W_0_0F92_P_2_LEN_0, MOD_VEX_W_0_0F92_P_3_LEN_0,
MOD_VEX_W_1_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_W_0_0F93_P_3_LEN_0,
MOD_VEX_W_1_0F93_P_3_LEN_0, MOD_VEX_W_0_0F98_P_0_LEN_0,
MOD_VEX_W_1_0F98_P_0_LEN_0, MOD_VEX_W_0_0F98_P_2_LEN_0,
MOD_VEX_W_1_0F98_P_2_LEN_0, MOD_VEX_W_0_0F99_P_0_LEN_0,
MOD_VEX_W_1_0F99_P_0_LEN_0, MOD_VEX_W_0_0F99_P_2_LEN_0,
MOD_VEX_W_1_0F99_P_2_LEN_0, MOD_VEX_W_0_0F3A30_P_2_LEN_0,
MOD_VEX_W_1_0F3A30_P_2_LEN_0, MOD_VEX_W_0_0F3A31_P_2_LEN_0,
MOD_VEX_W_1_0F3A31_P_2_LEN_0, MOD_VEX_W_0_0F3A32_P_2_LEN_0,
MOD_VEX_W_1_0F3A32_P_2_LEN_0, MOD_VEX_W_0_0F3A33_P_2_LEN_0,
MOD_VEX_W_1_0F3A33_P_2_LEN_0.
(vex_w_table): Replace terminals with MOD_TABLE entries for
most of mask instructions.
gas/testsuite
PR binutils/18257
* gas/i386/disassem.s: Add mask instructions with invalid ModR/M byte.
* gas/i386/x86-64-disassem.s: Likewise.
* gas/i386/disassem.d: Updated.
* gas/i386/x86-64-disassem.d: Likewise.
---
gas/testsuite/gas/i386/disassem.d | 332 +++++++++++++++++++++-
gas/testsuite/gas/i386/disassem.s | 166 +++++++++++
gas/testsuite/gas/i386/x86-64-disassem.d | 332 +++++++++++++++++++++-
gas/testsuite/gas/i386/x86-64-disassem.s | 166 +++++++++++
opcodes/i386-dis.c | 472 +++++++++++++++++++++++++++----
5 files changed, 1407 insertions(+), 61 deletions(-)
diff --git a/gas/testsuite/gas/i386/disassem.d b/gas/testsuite/gas/i386/disassem.d
index d8c6d61..2f39662 100644
--- a/gas/testsuite/gas/i386/disassem.d
+++ b/gas/testsuite/gas/i386/disassem.d
@@ -10,5 +10,335 @@ Disassembly of section \.text:
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
[ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\)
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
-[ ]*[a-f0-9]+:[ ]*d8[ ]*\.byte 0xd8
+[ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%eax\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popl \(%ecx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*aas[ ]*
#pass
diff --git a/gas/testsuite/gas/i386/disassem.s b/gas/testsuite/gas/i386/disassem.s
index 81b0ef3..2e6c157 100644
--- a/gas/testsuite/gas/i386/disassem.s
+++ b/gas/testsuite/gas/i386/disassem.s
@@ -1,3 +1,169 @@
.text
.byte 0xFF, 0xEF
.byte 0xFF, 0xD8
+.fill 0x5, 0x1, 0x90
+.byte 0xC5, 0xEC, 0x4A, 0x9B
+.byte 0xC5, 0xEC, 0x4A, 0x6F
+.byte 0xC5, 0xEC, 0x4A, 0x3F
+.byte 0xC5, 0xED, 0x4A, 0x9B
+.byte 0xC5, 0xED, 0x4A, 0x6F
+.byte 0xC5, 0xED, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x3F
+.byte 0xC5, 0xEC, 0x41, 0x9B
+.byte 0xC5, 0xEC, 0x41, 0x6F
+.byte 0xC5, 0xEC, 0x41, 0x3F
+.byte 0xC5, 0xED, 0x41, 0x9B
+.byte 0xC5, 0xED, 0x41, 0x6F
+.byte 0xC5, 0xED, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x3F
+.byte 0xC5, 0xEC, 0x42, 0x9B
+.byte 0xC5, 0xEC, 0x42, 0x6F
+.byte 0xC5, 0xEC, 0x42, 0x3F
+.byte 0xC5, 0xED, 0x42, 0x9B
+.byte 0xC5, 0xED, 0x42, 0x6F
+.byte 0xC5, 0xED, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x3F
+.byte 0xC5, 0xEC, 0x4B, 0x9B
+.byte 0xC5, 0xEC, 0x4B, 0x6F
+.byte 0xC5, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xED, 0x4B, 0x9B
+.byte 0xC5, 0xED, 0x4B, 0x6F
+.byte 0xC5, 0xED, 0x4B, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xF8, 0x44, 0x9B
+.byte 0xC5, 0xF8, 0x44, 0x6F
+.byte 0xC5, 0xF8, 0x44, 0x3F
+.byte 0xC5, 0xF9, 0x44, 0x9B
+.byte 0xC5, 0xF9, 0x44, 0x6F
+.byte 0xC5, 0xF9, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x3F
+.byte 0xC5, 0xEC, 0x45, 0x9B
+.byte 0xC5, 0xEC, 0x45, 0x6F
+.byte 0xC5, 0xEC, 0x45, 0x3F
+.byte 0xC5, 0xED, 0x45, 0x9B
+.byte 0xC5, 0xED, 0x45, 0x6F
+.byte 0xC5, 0xED, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x3F
+.byte 0xC5, 0xF8, 0x98, 0x9B
+.byte 0xC5, 0xF8, 0x98, 0x6F
+.byte 0xC5, 0xF8, 0x98, 0x3F
+.byte 0xC5, 0xF9, 0x98, 0x9B
+.byte 0xC5, 0xF9, 0x98, 0x6F
+.byte 0xC5, 0xF9, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x3F
+.byte 0xC5, 0xEC, 0x46, 0x9B
+.byte 0xC5, 0xEC, 0x46, 0x6F
+.byte 0xC5, 0xEC, 0x46, 0x3F
+.byte 0xC5, 0xED, 0x46, 0x9B
+.byte 0xC5, 0xED, 0x46, 0x6F
+.byte 0xC5, 0xED, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x3F
+.byte 0xC5, 0xEC, 0x47, 0x9B
+.byte 0xC5, 0xEC, 0x47, 0x6F
+.byte 0xC5, 0xEC, 0x47, 0x3F
+.byte 0xC5, 0xED, 0x47, 0x9B
+.byte 0xC5, 0xED, 0x47, 0x6F
+.byte 0xC5, 0xED, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x3F
+.byte 0xC5, 0xF8, 0x99, 0x9B
+.byte 0xC5, 0xF8, 0x99, 0x6F
+.byte 0xC5, 0xF8, 0x99, 0x3F
+.byte 0xC5, 0xF9, 0x99, 0x9B
+.byte 0xC5, 0xF9, 0x99, 0x6F
+.byte 0xC5, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01
+.byte 0xC5, 0xF8, 0x92, 0x9B
+.byte 0xC5, 0xF8, 0x92, 0x6F
+.byte 0xC5, 0xF8, 0x92, 0x3F
+.byte 0xC5, 0xF9, 0x92, 0x9B
+.byte 0xC5, 0xF9, 0x92, 0x6F
+.byte 0xC5, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xFB, 0x92, 0x9B
+.byte 0xC5, 0xFB, 0x92, 0x6F
+.byte 0xC5, 0xFB, 0x92, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xF8, 0x93, 0x9B
+.byte 0xC5, 0xF8, 0x93, 0x6F
+.byte 0xC5, 0xF8, 0x93, 0x3F
+.byte 0xC5, 0xF9, 0x93, 0x9B
+.byte 0xC5, 0xF9, 0x93, 0x6F
+.byte 0xC5, 0xF9, 0x93, 0x3F
+.byte 0xC5, 0xFB, 0x93, 0x9B
+.byte 0xC5, 0xFB, 0x93, 0x6F
+.byte 0xC5, 0xFB, 0x93, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x3F
diff --git a/gas/testsuite/gas/i386/x86-64-disassem.d b/gas/testsuite/gas/i386/x86-64-disassem.d
index 8662af9..f21bab0 100644
--- a/gas/testsuite/gas/i386/x86-64-disassem.d
+++ b/gas/testsuite/gas/i386/x86-64-disassem.d
@@ -10,5 +10,335 @@ Disassembly of section \.text:
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
[ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\)
[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\)
-[ ]*[a-f0-9]+:[ ]*d8[ ]*\.byte 0xd8
+[ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%rax\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*8f 01[ ]*popq \(%rcx\)
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6a 01[ ]*pushq \$0x1
+[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*9b[ ]*fwait
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\)
+[ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\)[ ]*
+[ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\)[ ]*
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-disassem.s b/gas/testsuite/gas/i386/x86-64-disassem.s
index 81b0ef3..2e6c157 100644
--- a/gas/testsuite/gas/i386/x86-64-disassem.s
+++ b/gas/testsuite/gas/i386/x86-64-disassem.s
@@ -1,3 +1,169 @@
.text
.byte 0xFF, 0xEF
.byte 0xFF, 0xD8
+.fill 0x5, 0x1, 0x90
+.byte 0xC5, 0xEC, 0x4A, 0x9B
+.byte 0xC5, 0xEC, 0x4A, 0x6F
+.byte 0xC5, 0xEC, 0x4A, 0x3F
+.byte 0xC5, 0xED, 0x4A, 0x9B
+.byte 0xC5, 0xED, 0x4A, 0x6F
+.byte 0xC5, 0xED, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4A, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x4A, 0x3F
+.byte 0xC5, 0xEC, 0x41, 0x9B
+.byte 0xC5, 0xEC, 0x41, 0x6F
+.byte 0xC5, 0xEC, 0x41, 0x3F
+.byte 0xC5, 0xED, 0x41, 0x9B
+.byte 0xC5, 0xED, 0x41, 0x6F
+.byte 0xC5, 0xED, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x41, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x41, 0x3F
+.byte 0xC5, 0xEC, 0x42, 0x9B
+.byte 0xC5, 0xEC, 0x42, 0x6F
+.byte 0xC5, 0xEC, 0x42, 0x3F
+.byte 0xC5, 0xED, 0x42, 0x9B
+.byte 0xC5, 0xED, 0x42, 0x6F
+.byte 0xC5, 0xED, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x42, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x42, 0x3F
+.byte 0xC5, 0xEC, 0x4B, 0x9B
+.byte 0xC5, 0xEC, 0x4B, 0x6F
+.byte 0xC5, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xED, 0x4B, 0x9B
+.byte 0xC5, 0xED, 0x4B, 0x6F
+.byte 0xC5, 0xED, 0x4B, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x4B, 0x3F
+.byte 0xC5, 0xF8, 0x44, 0x9B
+.byte 0xC5, 0xF8, 0x44, 0x6F
+.byte 0xC5, 0xF8, 0x44, 0x3F
+.byte 0xC5, 0xF9, 0x44, 0x9B
+.byte 0xC5, 0xF9, 0x44, 0x6F
+.byte 0xC5, 0xF9, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x44, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x44, 0x3F
+.byte 0xC5, 0xEC, 0x45, 0x9B
+.byte 0xC5, 0xEC, 0x45, 0x6F
+.byte 0xC5, 0xEC, 0x45, 0x3F
+.byte 0xC5, 0xED, 0x45, 0x9B
+.byte 0xC5, 0xED, 0x45, 0x6F
+.byte 0xC5, 0xED, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x45, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x45, 0x3F
+.byte 0xC5, 0xF8, 0x98, 0x9B
+.byte 0xC5, 0xF8, 0x98, 0x6F
+.byte 0xC5, 0xF8, 0x98, 0x3F
+.byte 0xC5, 0xF9, 0x98, 0x9B
+.byte 0xC5, 0xF9, 0x98, 0x6F
+.byte 0xC5, 0xF9, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x98, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x98, 0x3F
+.byte 0xC5, 0xEC, 0x46, 0x9B
+.byte 0xC5, 0xEC, 0x46, 0x6F
+.byte 0xC5, 0xEC, 0x46, 0x3F
+.byte 0xC5, 0xED, 0x46, 0x9B
+.byte 0xC5, 0xED, 0x46, 0x6F
+.byte 0xC5, 0xED, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x46, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x46, 0x3F
+.byte 0xC5, 0xEC, 0x47, 0x9B
+.byte 0xC5, 0xEC, 0x47, 0x6F
+.byte 0xC5, 0xEC, 0x47, 0x3F
+.byte 0xC5, 0xED, 0x47, 0x9B
+.byte 0xC5, 0xED, 0x47, 0x6F
+.byte 0xC5, 0xED, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xEC, 0x47, 0x3F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x9B
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x6F
+.byte 0xC4, 0xE1, 0xED, 0x47, 0x3F
+.byte 0xC5, 0xF8, 0x99, 0x9B
+.byte 0xC5, 0xF8, 0x99, 0x6F
+.byte 0xC5, 0xF8, 0x99, 0x3F
+.byte 0xC5, 0xF9, 0x99, 0x9B
+.byte 0xC5, 0xF9, 0x99, 0x6F
+.byte 0xC5, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF8, 0x99, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x99, 0x3F
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01
+.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01
+.byte 0xC5, 0xF8, 0x92, 0x9B
+.byte 0xC5, 0xF8, 0x92, 0x6F
+.byte 0xC5, 0xF8, 0x92, 0x3F
+.byte 0xC5, 0xF9, 0x92, 0x9B
+.byte 0xC5, 0xF9, 0x92, 0x6F
+.byte 0xC5, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xFB, 0x92, 0x9B
+.byte 0xC5, 0xFB, 0x92, 0x6F
+.byte 0xC5, 0xFB, 0x92, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x92, 0x3F
+.byte 0xC5, 0xF8, 0x93, 0x9B
+.byte 0xC5, 0xF8, 0x93, 0x6F
+.byte 0xC5, 0xF8, 0x93, 0x3F
+.byte 0xC5, 0xF9, 0x93, 0x9B
+.byte 0xC5, 0xF9, 0x93, 0x6F
+.byte 0xC5, 0xF9, 0x93, 0x3F
+.byte 0xC5, 0xFB, 0x93, 0x9B
+.byte 0xC5, 0xFB, 0x93, 0x6F
+.byte 0xC5, 0xFB, 0x93, 0x3F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x9B
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F
+.byte 0xC4, 0xE1, 0xF9, 0x93, 0x3F
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index e590e24..055b38f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -820,6 +820,37 @@ enum
MOD_VEX_0F16_PREFIX_0,
MOD_VEX_0F17,
MOD_VEX_0F2B,
+ MOD_VEX_W_0_0F41_P_0_LEN_1,
+ MOD_VEX_W_1_0F41_P_0_LEN_1,
+ MOD_VEX_W_0_0F41_P_2_LEN_1,
+ MOD_VEX_W_1_0F41_P_2_LEN_1,
+ MOD_VEX_W_0_0F42_P_0_LEN_1,
+ MOD_VEX_W_1_0F42_P_0_LEN_1,
+ MOD_VEX_W_0_0F42_P_2_LEN_1,
+ MOD_VEX_W_1_0F42_P_2_LEN_1,
+ MOD_VEX_W_0_0F44_P_0_LEN_1,
+ MOD_VEX_W_1_0F44_P_0_LEN_1,
+ MOD_VEX_W_0_0F44_P_2_LEN_1,
+ MOD_VEX_W_1_0F44_P_2_LEN_1,
+ MOD_VEX_W_0_0F45_P_0_LEN_1,
+ MOD_VEX_W_1_0F45_P_0_LEN_1,
+ MOD_VEX_W_0_0F45_P_2_LEN_1,
+ MOD_VEX_W_1_0F45_P_2_LEN_1,
+ MOD_VEX_W_0_0F46_P_0_LEN_1,
+ MOD_VEX_W_1_0F46_P_0_LEN_1,
+ MOD_VEX_W_0_0F46_P_2_LEN_1,
+ MOD_VEX_W_1_0F46_P_2_LEN_1,
+ MOD_VEX_W_0_0F47_P_0_LEN_1,
+ MOD_VEX_W_1_0F47_P_0_LEN_1,
+ MOD_VEX_W_0_0F47_P_2_LEN_1,
+ MOD_VEX_W_1_0F47_P_2_LEN_1,
+ MOD_VEX_W_0_0F4A_P_0_LEN_1,
+ MOD_VEX_W_1_0F4A_P_0_LEN_1,
+ MOD_VEX_W_0_0F4A_P_2_LEN_1,
+ MOD_VEX_W_1_0F4A_P_2_LEN_1,
+ MOD_VEX_W_0_0F4B_P_0_LEN_1,
+ MOD_VEX_W_1_0F4B_P_0_LEN_1,
+ MOD_VEX_W_0_0F4B_P_2_LEN_1,
MOD_VEX_0F50,
MOD_VEX_0F71_REG_2,
MOD_VEX_0F71_REG_4,
@@ -831,6 +862,26 @@ enum
MOD_VEX_0F73_REG_3,
MOD_VEX_0F73_REG_6,
MOD_VEX_0F73_REG_7,
+ MOD_VEX_W_0_0F91_P_0_LEN_0,
+ MOD_VEX_W_1_0F91_P_0_LEN_0,
+ MOD_VEX_W_0_0F91_P_2_LEN_0,
+ MOD_VEX_W_1_0F91_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_0_LEN_0,
+ MOD_VEX_W_0_0F92_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_3_LEN_0,
+ MOD_VEX_W_1_0F92_P_3_LEN_0,
+ MOD_VEX_W_0_0F93_P_0_LEN_0,
+ MOD_VEX_W_0_0F93_P_2_LEN_0,
+ MOD_VEX_W_0_0F93_P_3_LEN_0,
+ MOD_VEX_W_1_0F93_P_3_LEN_0,
+ MOD_VEX_W_0_0F98_P_0_LEN_0,
+ MOD_VEX_W_1_0F98_P_0_LEN_0,
+ MOD_VEX_W_0_0F98_P_2_LEN_0,
+ MOD_VEX_W_1_0F98_P_2_LEN_0,
+ MOD_VEX_W_0_0F99_P_0_LEN_0,
+ MOD_VEX_W_1_0F99_P_0_LEN_0,
+ MOD_VEX_W_0_0F99_P_2_LEN_0,
+ MOD_VEX_W_1_0F99_P_2_LEN_0,
MOD_VEX_0FAE_REG_2,
MOD_VEX_0FAE_REG_3,
MOD_VEX_0FD7_PREFIX_2,
@@ -845,6 +896,14 @@ enum
MOD_VEX_0F385A_PREFIX_2,
MOD_VEX_0F388C_PREFIX_2,
MOD_VEX_0F388E_PREFIX_2,
+ MOD_VEX_W_0_0F3A30_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A30_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A31_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A31_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A32_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A32_P_2_LEN_0,
+ MOD_VEX_W_0_0F3A33_P_2_LEN_0,
+ MOD_VEX_W_1_0F3A33_P_2_LEN_0,
MOD_EVEX_0F10_PREFIX_1,
MOD_EVEX_0F10_PREFIX_3,
@@ -10446,82 +10505,82 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F41_P_0_LEN_1 */
- { "kandw", { MaskG, MaskVex, MaskR }, 0 },
- { "kandq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F41_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F41_P_0_LEN_1) },
},
{
/* VEX_W_0F41_P_2_LEN_1 */
- { "kandb", { MaskG, MaskVex, MaskR }, 0 },
- { "kandd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F41_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F41_P_2_LEN_1) }
},
{
/* VEX_W_0F42_P_0_LEN_1 */
- { "kandnw", { MaskG, MaskVex, MaskR }, 0 },
- { "kandnq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F42_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F42_P_0_LEN_1) },
},
{
/* VEX_W_0F42_P_2_LEN_1 */
- { "kandnb", { MaskG, MaskVex, MaskR }, 0 },
- { "kandnd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F42_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F42_P_2_LEN_1) },
},
{
/* VEX_W_0F44_P_0_LEN_0 */
- { "knotw", { MaskG, MaskR }, 0 },
- { "knotq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F44_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F44_P_0_LEN_1) },
},
{
/* VEX_W_0F44_P_2_LEN_0 */
- { "knotb", { MaskG, MaskR }, 0 },
- { "knotd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F44_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F44_P_2_LEN_1) },
},
{
/* VEX_W_0F45_P_0_LEN_1 */
- { "korw", { MaskG, MaskVex, MaskR }, 0 },
- { "korq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F45_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F45_P_0_LEN_1) },
},
{
/* VEX_W_0F45_P_2_LEN_1 */
- { "korb", { MaskG, MaskVex, MaskR }, 0 },
- { "kord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F45_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F45_P_2_LEN_1) },
},
{
/* VEX_W_0F46_P_0_LEN_1 */
- { "kxnorw", { MaskG, MaskVex, MaskR }, 0 },
- { "kxnorq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F46_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F46_P_0_LEN_1) },
},
{
/* VEX_W_0F46_P_2_LEN_1 */
- { "kxnorb", { MaskG, MaskVex, MaskR }, 0 },
- { "kxnord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F46_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F46_P_2_LEN_1) },
},
{
/* VEX_W_0F47_P_0_LEN_1 */
- { "kxorw", { MaskG, MaskVex, MaskR }, 0 },
- { "kxorq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F47_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F47_P_0_LEN_1) },
},
{
/* VEX_W_0F47_P_2_LEN_1 */
- { "kxorb", { MaskG, MaskVex, MaskR }, 0 },
- { "kxord", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F47_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F47_P_2_LEN_1) },
},
{
/* VEX_W_0F4A_P_0_LEN_1 */
- { "kaddw", { MaskG, MaskVex, MaskR }, 0 },
- { "kaddq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4A_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4A_P_0_LEN_1) },
},
{
/* VEX_W_0F4A_P_2_LEN_1 */
- { "kaddb", { MaskG, MaskVex, MaskR }, 0 },
- { "kaddd", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4A_P_2_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4A_P_2_LEN_1) },
},
{
/* VEX_W_0F4B_P_0_LEN_1 */
- { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 },
- { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4B_P_0_LEN_1) },
+ { MOD_TABLE (MOD_VEX_W_1_0F4B_P_0_LEN_1) },
},
{
/* VEX_W_0F4B_P_2_LEN_1 */
- { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F4B_P_2_LEN_1) },
},
{
/* VEX_W_0F50_M_0 */
@@ -10851,59 +10910,59 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F91_P_0_LEN_0 */
- { "kmovw", { Ew, MaskG }, 0 },
- { "kmovq", { Eq, MaskG }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F91_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F91_P_0_LEN_0) },
},
{
/* VEX_W_0F91_P_2_LEN_0 */
- { "kmovb", { Eb, MaskG }, 0 },
- { "kmovd", { Ed, MaskG }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F91_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F91_P_2_LEN_0) },
},
{
/* VEX_W_0F92_P_0_LEN_0 */
- { "kmovw", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_0_LEN_0) },
},
{
/* VEX_W_0F92_P_2_LEN_0 */
- { "kmovb", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_2_LEN_0) },
},
{
/* VEX_W_0F92_P_3_LEN_0 */
- { "kmovd", { MaskG, Rdq }, 0 },
- { "kmovq", { MaskG, Rdq }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F92_P_3_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F92_P_3_LEN_0) },
},
{
/* VEX_W_0F93_P_0_LEN_0 */
- { "kmovw", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_0_LEN_0) },
},
{
/* VEX_W_0F93_P_2_LEN_0 */
- { "kmovb", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_2_LEN_0) },
},
{
/* VEX_W_0F93_P_3_LEN_0 */
- { "kmovd", { Gdq, MaskR }, 0 },
- { "kmovq", { Gdq, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F93_P_3_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F93_P_3_LEN_0) },
},
{
/* VEX_W_0F98_P_0_LEN_0 */
- { "kortestw", { MaskG, MaskR }, 0 },
- { "kortestq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F98_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F98_P_0_LEN_0) },
},
{
/* VEX_W_0F98_P_2_LEN_0 */
- { "kortestb", { MaskG, MaskR }, 0 },
- { "kortestd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F98_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F98_P_2_LEN_0) },
},
{
/* VEX_W_0F99_P_0_LEN_0 */
- { "ktestw", { MaskG, MaskR }, 0 },
- { "ktestq", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F99_P_0_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F99_P_0_LEN_0) },
},
{
/* VEX_W_0F99_P_2_LEN_0 */
- { "ktestb", { MaskG, MaskR }, 0 },
- { "ktestd", { MaskG, MaskR }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F99_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F99_P_2_LEN_0) },
},
{
/* VEX_W_0FAE_R_2_M_0 */
@@ -11489,23 +11548,23 @@ static const struct dis386 vex_w_table[][2] = {
},
{
/* VEX_W_0F3A30_P_2_LEN_0 */
- { "kshiftrb", { MaskG, MaskR, Ib }, 0 },
- { "kshiftrw", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A30_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A30_P_2_LEN_0) },
},
{
/* VEX_W_0F3A31_P_2_LEN_0 */
- { "kshiftrd", { MaskG, MaskR, Ib }, 0 },
- { "kshiftrq", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A31_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A31_P_2_LEN_0) },
},
{
/* VEX_W_0F3A32_P_2_LEN_0 */
- { "kshiftlb", { MaskG, MaskR, Ib }, 0 },
- { "kshiftlw", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A32_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A32_P_2_LEN_0) },
},
{
/* VEX_W_0F3A33_P_2_LEN_0 */
- { "kshiftld", { MaskG, MaskR, Ib }, 0 },
- { "kshiftlq", { MaskG, MaskR, Ib }, 0 },
+ { MOD_TABLE (MOD_VEX_W_0_0F3A33_P_2_LEN_0) },
+ { MOD_TABLE (MOD_VEX_W_1_0F3A33_P_2_LEN_0) },
},
{
/* VEX_W_0F3A38_P_2 */
@@ -11908,6 +11967,161 @@ static const struct dis386 mod_table[][2] = {
{ VEX_W_TABLE (VEX_W_0F2B_M_0) },
},
{
+ /* MOD_VEX_W_0_0F41_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F41_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F41_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F41_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F42_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandnw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F42_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kandnq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F42_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandnb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F42_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kandnd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F44_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "knotw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F44_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "knotq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F44_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "knotb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F44_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "knotd", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F45_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "korw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F45_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "korq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F45_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "korb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F45_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F46_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F46_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F46_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxnorb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F46_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxnord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F47_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxorw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F47_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kxorq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F47_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxorb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F47_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kxord", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4A_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kaddw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4A_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kaddq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4A_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kaddb", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4A_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kaddd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4B_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F4B_P_0_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F4B_P_2_LEN_1 */
+ { Bad_Opcode },
+ { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 },
+ },
+ {
/* MOD_VEX_0F50 */
{ Bad_Opcode },
{ VEX_W_TABLE (VEX_W_0F50_M_0) },
@@ -11963,6 +12177,106 @@ static const struct dis386 mod_table[][2] = {
{ PREFIX_TABLE (PREFIX_VEX_0F73_REG_7) },
},
{
+ /* MOD_VEX_W_0_0F91_P_0_LEN_0 */
+ { "kmovw", { Ew, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_0_LEN_0 */
+ { "kmovq", { Eq, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_2_LEN_0 */
+ { "kmovb", { Eb, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F91_P_2_LEN_0 */
+ { "kmovd", { Ed, MaskG }, 0 },
+ { Bad_Opcode },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kmovw", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kmovb", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F92_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovd", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F92_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovq", { MaskG, Rdq }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kmovw", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kmovb", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F93_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovd", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F93_P_3_LEN_0 */
+ { Bad_Opcode },
+ { "kmovq", { Gdq, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F98_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kortestw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F98_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "kortestq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F98_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kortestb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F98_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kortestd", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F99_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "ktestw", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F99_P_0_LEN_0 */
+ { Bad_Opcode },
+ { "ktestq", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F99_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "ktestb", { MaskG, MaskR }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F99_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "ktestd", { MaskG, MaskR }, 0 },
+ },
+ {
/* MOD_VEX_0FAE_REG_2 */
{ VEX_LEN_TABLE (VEX_LEN_0FAE_R_2_M_0) },
},
@@ -12019,6 +12333,46 @@ static const struct dis386 mod_table[][2] = {
/* MOD_VEX_0F388E_PREFIX_2 */
{ "vpmaskmov%LW", { Mx, Vex, XM }, 0 },
},
+ {
+ /* MOD_VEX_W_0_0F3A30_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrb", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A30_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrw", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A31_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrd", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A31_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftrq", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A32_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlb", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A32_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlw", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_0_0F3A33_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftld", { MaskG, MaskR, Ib }, 0 },
+ },
+ {
+ /* MOD_VEX_W_1_0F3A33_P_2_LEN_0 */
+ { Bad_Opcode },
+ { "kshiftlq", { MaskG, MaskR, Ib }, 0 },
+ },
#define NEED_MOD_TABLE
#include "i386-dis-evex.h"
#undef NEED_MOD_TABLE
--
1.8.3.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions.
2015-08-20 12:14 ` Alexander Fomin
@ 2015-08-20 12:35 ` H.J. Lu
0 siblings, 0 replies; 8+ messages in thread
From: H.J. Lu @ 2015-08-20 12:35 UTC (permalink / raw)
To: Alexander Fomin; +Cc: Binutils
On Thu, Aug 20, 2015 at 5:13 AM, Alexander Fomin
<afomin.mailbox@gmail.com> wrote:
> On Thu, Aug 20, 2015 at 04:59:47AM -0700, H.J. Lu wrote:
>> Please fix ChangeLog entries.
>>
>> OK with the fixed ChangeLog entries.
>>
>> Thanks.
>>
>>
>> --
>> H.J.
>
> Done.
> Thanks for objections.
>
OK. Please check it in. If you don't have write permission, please apply for
one at
https://sourceware.org/
--
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-08-20 12:35 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-19 16:13 [PATCH] PR binutils/18257: Properly decode x86/Intel mask instructions Alexander Fomin
2015-08-19 16:16 ` H.J. Lu
2015-08-19 16:22 ` Alexander Fomin
2015-08-19 16:33 ` H.J. Lu
2015-08-20 11:44 ` Alexander Fomin
2015-08-20 11:59 ` H.J. Lu
2015-08-20 12:14 ` Alexander Fomin
2015-08-20 12:35 ` H.J. Lu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).