From 2bd8129f96ba59cae00f0da5266254ef34d20f82 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 11 Jul 2023 08:21:03 +0200 Subject: [PATCH] x86: various operations on mask registers can avoid going through mod_table[] Now that we have OP_R(), use it here as well, while wiring memory-only operands to OP_M() at the same time. To keep the number of consumed opcode bytes similar to before, make BadOp() also account for VEX/XOP/ EVEX prefix bytes. To keep that change simple, convert need_vex to an actual count of prefix bytes (keeping intact all prior boolean uses of the field). Note how this improves disassembly of such bad encodings, by at least leaving a hint towards what a "nearby" instruction is. (For KSHIFT* change the immediates test testcases use, such that disassembly remains sufficiently in sync.) While there also use Ux for VPMOV{B,W,D,Q}2M, where decoding through mod_table[] was missing in the earlier scheme. --- gas/testsuite/gas/i386/disassem.d | 366 +++++++++---------- gas/testsuite/gas/i386/disassem.s | 48 +-- gas/testsuite/gas/i386/x86-64-disassem.d | 366 +++++++++---------- gas/testsuite/gas/i386/x86-64-disassem.s | 48 +-- opcodes/i386-dis-evex-mod.h | 20 -- opcodes/i386-dis-evex-prefix.h | 8 +- opcodes/i386-dis-evex-w.h | 4 +- opcodes/i386-dis.c | 440 +++++++++-------------- 8 files changed, 590 insertions(+), 710 deletions(-) diff --git a/gas/testsuite/gas/i386/disassem.d b/gas/testsuite/gas/i386/disassem.d index 7de7a3d39bb..8ee0a664e0b 100644 --- a/gas/testsuite/gas/i386/disassem.d +++ b/gas/testsuite/gas/i386/disassem.d @@ -12,305 +12,305 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\) [ ]*[a-f0-9]+:[ ]*ff[ ]+lcall[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%eax\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%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[ ]*pop \(%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[ ]*pop \(%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[ ]*pop \(%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[ ]*pop \(%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[ ]*pop \(%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[ ]*pop \(%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[ ]*pop \(%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]+:[ ]*c4 e3 f9 30 8f[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 6a[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 04[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 8f[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 6a[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 04[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 8f[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 6a[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 04[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 8f[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 6a[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 04[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 8f[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 6a[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 04[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 8f[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 6a[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 04[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 8f[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 6a[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 04[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 8f[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 6a[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 04[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait @@ -318,23 +318,23 @@ Disassembly of section \.text: [ ]*[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]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas [ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait diff --git a/gas/testsuite/gas/i386/disassem.s b/gas/testsuite/gas/i386/disassem.s index 7c09fadceea..c74a9353933 100644 --- a/gas/testsuite/gas/i386/disassem.s +++ b/gas/testsuite/gas/i386/disassem.s @@ -119,30 +119,30 @@ .byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B .byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F .insn VEX.L0.66.0f.W1 0x99, (%edi), %k7 -.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 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x07 .byte 0xC5, 0xF8, 0x92, 0x9B .byte 0xC5, 0xF8, 0x92, 0x6F .insn VEX.L0.NP.0f.W0 0x92, (%edi), %k7 diff --git a/gas/testsuite/gas/i386/x86-64-disassem.d b/gas/testsuite/gas/i386/x86-64-disassem.d index 567c3d8750f..2de30e295b6 100644 --- a/gas/testsuite/gas/i386/x86-64-disassem.d +++ b/gas/testsuite/gas/i386/x86-64-disassem.d @@ -12,305 +12,305 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\) [ ]*[a-f0-9]+:[ ]*ff[ ]+lcall[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%rax\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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[ ]*pop \(%rcx\) -[ ]*[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]+:[ ]*c4 e3 f9 30 8f[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 6a[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 04[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 8f[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 6a[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 04[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 8f[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 6a[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 04[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 8f[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 6a[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 04[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 8f[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 6a[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 04[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 8f[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 6a[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 04[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 8f[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 6a[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 04[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 8f[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 6a[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 04[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait @@ -318,23 +318,23 @@ Disassembly of section \.text: [ ]*[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]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait diff --git a/gas/testsuite/gas/i386/x86-64-disassem.s b/gas/testsuite/gas/i386/x86-64-disassem.s index ff049045bcd..4f151bf7333 100644 --- a/gas/testsuite/gas/i386/x86-64-disassem.s +++ b/gas/testsuite/gas/i386/x86-64-disassem.s @@ -119,30 +119,30 @@ .byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B .byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F .insn VEX.L0.66.0f.W1 0x99, (%rdi), %k7 -.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 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x07 .byte 0xC5, 0xF8, 0x92, 0x9B .byte 0xC5, 0xF8, 0x92, 0x6F .insn VEX.L0.NP.0f.W0 0x92, (%rdi), %k7 diff --git a/opcodes/i386-dis-evex-mod.h b/opcodes/i386-dis-evex-mod.h index 94c77794432..a6b4bebbef3 100644 --- a/opcodes/i386-dis-evex-mod.h +++ b/opcodes/i386-dis-evex-mod.h @@ -1,23 +1,3 @@ - /* MOD_EVEX_0F3828_P_1 */ - { - { Bad_Opcode }, - { "vpmovm2Y%BW", { XM, MaskE }, 0 }, - }, - /* MOD_EVEX_0F382A_P_1_W_1 */ - { - { Bad_Opcode }, - { "vpbroadcastmb2qY", { XM, MaskE }, 0 }, - }, - /* MOD_EVEX_0F3838_P_1 */ - { - { Bad_Opcode }, - { "vpmovm2Y%DQ", { XM, MaskE }, 0 }, - }, - /* MOD_EVEX_0F383A_P_1_W_0 */ - { - { Bad_Opcode }, - { "vpbroadcastmw2dY", { XM, MaskE }, 0 }, - }, /* MOD_EVEX_0F387A_W_0 */ { { Bad_Opcode }, diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h index c78c1b7d8da..28da54922c7 100644 --- a/opcodes/i386-dis-evex-prefix.h +++ b/opcodes/i386-dis-evex-prefix.h @@ -160,13 +160,13 @@ /* PREFIX_EVEX_0F3828 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_EVEX_0F3828_P_1) }, + { "vpmovm2Y%BW", { XM, MaskR }, 0 }, { VEX_W_TABLE (EVEX_W_0F3828_P_2) }, }, /* PREFIX_EVEX_0F3829 */ { { Bad_Opcode }, - { "vpmov%BW2mY", { MaskG, EXx }, 0 }, + { "vpmov%BW2mY", { MaskG, Ux }, 0 }, { VEX_W_TABLE (EVEX_W_0F3829_P_2) }, }, /* PREFIX_EVEX_0F382A */ @@ -214,13 +214,13 @@ /* PREFIX_EVEX_0F3838 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_EVEX_0F3838_P_1) }, + { "vpmovm2Y%DQ", { XM, MaskR }, 0 }, { "%XEvpminsb", { XM, Vex, EXx }, 0 }, }, /* PREFIX_EVEX_0F3839 */ { { Bad_Opcode }, - { "vpmov%DQ2mY", { MaskG, EXx }, 0 }, + { "vpmov%DQ2mY", { MaskG, Ux }, 0 }, { "%XEvpmins%DQ", { XM, Vex, EXx }, 0 }, }, /* PREFIX_EVEX_0F383A */ diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h index 8d7b079342e..e2191e6d8a4 100644 --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -289,7 +289,7 @@ /* EVEX_W_0F382A_P_1 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_EVEX_0F382A_P_1_W_1) }, + { "vpbroadcastmb2qY", { XM, MaskR }, 0 }, }, /* EVEX_W_0F382A_P_2 */ { @@ -334,7 +334,7 @@ }, /* EVEX_W_0F383A_P_1 */ { - { MOD_TABLE (MOD_EVEX_0F383A_P_1_W_0) }, + { "vpbroadcastmw2dY", { XM, MaskR }, 0 }, }, /* EVEX_W_0F3859 */ { diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 30ddbc3afe3..a7946c59c5c 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -145,7 +145,7 @@ struct instr_info uint8_t rex_used; bool need_modrm; - bool need_vex; + unsigned char need_vex; bool has_sib; /* Flags for ins->prefixes which we somehow handled when printing the @@ -526,6 +526,7 @@ fetch_error (const instr_info *ins) #define EXymmq { OP_EX, ymmq_mode } #define EXEvexXGscat { OP_EX, evex_x_gscat_mode } #define EXEvexXNoBcst { OP_EX, evex_x_nobcst_mode } +#define Rdq { OP_R, dq_mode } #define Nq { OP_R, q_mode } #define Ux { OP_R, x_mode } #define Uxmm { OP_R, xmm_mode } @@ -558,6 +559,7 @@ fetch_error (const instr_info *ins) #define MaskG { OP_G, mask_mode } #define MaskE { OP_E, mask_mode } +#define MaskR { OP_R, mask_mode } #define MaskBDE { OP_E, mask_bd_mode } #define MaskVex { OP_VEX, mask_mode } @@ -900,35 +902,14 @@ enum MOD_0F38FB_PREFIX_1, MOD_0F3A0F_PREFIX_1, - MOD_VEX_0F41_L_1, - MOD_VEX_0F42_L_1, - MOD_VEX_0F44_L_0, - MOD_VEX_0F45_L_1, - MOD_VEX_0F46_L_1, - MOD_VEX_0F47_L_1, - MOD_VEX_0F4A_L_1, - MOD_VEX_0F4B_L_1, - MOD_VEX_0F91_L_0, - MOD_VEX_0F92_L_0, - MOD_VEX_0F93_L_0, - MOD_VEX_0F98_L_0, - MOD_VEX_0F99_L_0, MOD_VEX_0FD7, MOD_VEX_0F3849_X86_64_L_0_W_0, MOD_VEX_0F385C_X86_64, MOD_VEX_0F385E_X86_64, MOD_VEX_0F386C_X86_64, - MOD_VEX_0F3A30_L_0, - MOD_VEX_0F3A31_L_0, - MOD_VEX_0F3A32_L_0, - MOD_VEX_0F3A33_L_0, MOD_XOP_09_12, - MOD_EVEX_0F3828_P_1, - MOD_EVEX_0F382A_P_1_W_1, - MOD_EVEX_0F3838_P_1, - MOD_EVEX_0F383A_P_1_W_0, MOD_EVEX_0F387A_W_0, MOD_EVEX_0F387B_W_0, MOD_EVEX_0F387C, @@ -1056,38 +1037,38 @@ enum PREFIX_VEX_0F2A, PREFIX_VEX_0F2C, PREFIX_VEX_0F2D, - PREFIX_VEX_0F41_L_1_M_1_W_0, - PREFIX_VEX_0F41_L_1_M_1_W_1, - PREFIX_VEX_0F42_L_1_M_1_W_0, - PREFIX_VEX_0F42_L_1_M_1_W_1, - PREFIX_VEX_0F44_L_0_M_1_W_0, - PREFIX_VEX_0F44_L_0_M_1_W_1, - PREFIX_VEX_0F45_L_1_M_1_W_0, - PREFIX_VEX_0F45_L_1_M_1_W_1, - PREFIX_VEX_0F46_L_1_M_1_W_0, - PREFIX_VEX_0F46_L_1_M_1_W_1, - PREFIX_VEX_0F47_L_1_M_1_W_0, - PREFIX_VEX_0F47_L_1_M_1_W_1, - PREFIX_VEX_0F4A_L_1_M_1_W_0, - PREFIX_VEX_0F4A_L_1_M_1_W_1, - PREFIX_VEX_0F4B_L_1_M_1_W_0, - PREFIX_VEX_0F4B_L_1_M_1_W_1, + PREFIX_VEX_0F41_L_1_W_0, + PREFIX_VEX_0F41_L_1_W_1, + PREFIX_VEX_0F42_L_1_W_0, + PREFIX_VEX_0F42_L_1_W_1, + PREFIX_VEX_0F44_L_0_W_0, + PREFIX_VEX_0F44_L_0_W_1, + PREFIX_VEX_0F45_L_1_W_0, + PREFIX_VEX_0F45_L_1_W_1, + PREFIX_VEX_0F46_L_1_W_0, + PREFIX_VEX_0F46_L_1_W_1, + PREFIX_VEX_0F47_L_1_W_0, + PREFIX_VEX_0F47_L_1_W_1, + PREFIX_VEX_0F4A_L_1_W_0, + PREFIX_VEX_0F4A_L_1_W_1, + PREFIX_VEX_0F4B_L_1_W_0, + PREFIX_VEX_0F4B_L_1_W_1, PREFIX_VEX_0F6F, PREFIX_VEX_0F70, PREFIX_VEX_0F7E, PREFIX_VEX_0F7F, PREFIX_VEX_0F90_L_0_W_0, PREFIX_VEX_0F90_L_0_W_1, - PREFIX_VEX_0F91_L_0_M_0_W_0, - PREFIX_VEX_0F91_L_0_M_0_W_1, - PREFIX_VEX_0F92_L_0_M_1_W_0, - PREFIX_VEX_0F92_L_0_M_1_W_1, - PREFIX_VEX_0F93_L_0_M_1_W_0, - PREFIX_VEX_0F93_L_0_M_1_W_1, - PREFIX_VEX_0F98_L_0_M_1_W_0, - PREFIX_VEX_0F98_L_0_M_1_W_1, - PREFIX_VEX_0F99_L_0_M_1_W_0, - PREFIX_VEX_0F99_L_0_M_1_W_1, + PREFIX_VEX_0F91_L_0_W_0, + PREFIX_VEX_0F91_L_0_W_1, + PREFIX_VEX_0F92_L_0_W_0, + PREFIX_VEX_0F92_L_0_W_1, + PREFIX_VEX_0F93_L_0_W_0, + PREFIX_VEX_0F93_L_0_W_1, + PREFIX_VEX_0F98_L_0_W_0, + PREFIX_VEX_0F98_L_0_W_1, + PREFIX_VEX_0F99_L_0_W_0, + PREFIX_VEX_0F99_L_0_W_1, PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0, PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_1, PREFIX_VEX_0F384B_X86_64_L_0_W_0, @@ -1460,20 +1441,20 @@ enum enum { - VEX_W_0F41_L_1_M_1 = 0, - VEX_W_0F42_L_1_M_1, - VEX_W_0F44_L_0_M_1, - VEX_W_0F45_L_1_M_1, - VEX_W_0F46_L_1_M_1, - VEX_W_0F47_L_1_M_1, - VEX_W_0F4A_L_1_M_1, - VEX_W_0F4B_L_1_M_1, + VEX_W_0F41_L_1 = 0, + VEX_W_0F42_L_1, + VEX_W_0F44_L_0, + VEX_W_0F45_L_1, + VEX_W_0F46_L_1, + VEX_W_0F47_L_1, + VEX_W_0F4A_L_1, + VEX_W_0F4B_L_1, VEX_W_0F90_L_0, - VEX_W_0F91_L_0_M_0, - VEX_W_0F92_L_0_M_1, - VEX_W_0F93_L_0_M_1, - VEX_W_0F98_L_0_M_1, - VEX_W_0F99_L_0_M_1, + VEX_W_0F91_L_0, + VEX_W_0F92_L_0, + VEX_W_0F93_L_0, + VEX_W_0F98_L_0, + VEX_W_0F99_L_0, VEX_W_0F380C, VEX_W_0F380D, VEX_W_0F380E, @@ -3638,114 +3619,114 @@ static const struct dis386 prefix_table[][4] = { { "%XEvcvtsd2si", { Gdq, EXq, EXxEVexR }, 0 }, }, - /* PREFIX_VEX_0F41_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F41_L_1_W_0 */ { - { "kandw", { MaskG, MaskVex, MaskE }, 0 }, + { "kandw", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kandb", { MaskG, MaskVex, MaskE }, 0 }, + { "kandb", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F41_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F41_L_1_W_1 */ { - { "kandq", { MaskG, MaskVex, MaskE }, 0 }, + { "kandq", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kandd", { MaskG, MaskVex, MaskE }, 0 }, + { "kandd", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F42_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F42_L_1_W_0 */ { - { "kandnw", { MaskG, MaskVex, MaskE }, 0 }, + { "kandnw", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kandnb", { MaskG, MaskVex, MaskE }, 0 }, + { "kandnb", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F42_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F42_L_1_W_1 */ { - { "kandnq", { MaskG, MaskVex, MaskE }, 0 }, + { "kandnq", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kandnd", { MaskG, MaskVex, MaskE }, 0 }, + { "kandnd", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F44_L_0_M_1_W_0 */ + /* PREFIX_VEX_0F44_L_0_W_0 */ { - { "knotw", { MaskG, MaskE }, 0 }, + { "knotw", { MaskG, MaskR }, 0 }, { Bad_Opcode }, - { "knotb", { MaskG, MaskE }, 0 }, + { "knotb", { MaskG, MaskR }, 0 }, }, - /* PREFIX_VEX_0F44_L_0_M_1_W_1 */ + /* PREFIX_VEX_0F44_L_0_W_1 */ { - { "knotq", { MaskG, MaskE }, 0 }, + { "knotq", { MaskG, MaskR }, 0 }, { Bad_Opcode }, - { "knotd", { MaskG, MaskE }, 0 }, + { "knotd", { MaskG, MaskR }, 0 }, }, - /* PREFIX_VEX_0F45_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F45_L_1_W_0 */ { - { "korw", { MaskG, MaskVex, MaskE }, 0 }, + { "korw", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "korb", { MaskG, MaskVex, MaskE }, 0 }, + { "korb", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F45_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F45_L_1_W_1 */ { - { "korq", { MaskG, MaskVex, MaskE }, 0 }, + { "korq", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kord", { MaskG, MaskVex, MaskE }, 0 }, + { "kord", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F46_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F46_L_1_W_0 */ { - { "kxnorw", { MaskG, MaskVex, MaskE }, 0 }, + { "kxnorw", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kxnorb", { MaskG, MaskVex, MaskE }, 0 }, + { "kxnorb", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F46_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F46_L_1_W_1 */ { - { "kxnorq", { MaskG, MaskVex, MaskE }, 0 }, + { "kxnorq", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kxnord", { MaskG, MaskVex, MaskE }, 0 }, + { "kxnord", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F47_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F47_L_1_W_0 */ { - { "kxorw", { MaskG, MaskVex, MaskE }, 0 }, + { "kxorw", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kxorb", { MaskG, MaskVex, MaskE }, 0 }, + { "kxorb", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F47_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F47_L_1_W_1 */ { - { "kxorq", { MaskG, MaskVex, MaskE }, 0 }, + { "kxorq", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kxord", { MaskG, MaskVex, MaskE }, 0 }, + { "kxord", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F4A_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F4A_L_1_W_0 */ { - { "kaddw", { MaskG, MaskVex, MaskE }, 0 }, + { "kaddw", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kaddb", { MaskG, MaskVex, MaskE }, 0 }, + { "kaddb", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F4A_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F4A_L_1_W_1 */ { - { "kaddq", { MaskG, MaskVex, MaskE }, 0 }, + { "kaddq", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kaddd", { MaskG, MaskVex, MaskE }, 0 }, + { "kaddd", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F4B_L_1_M_1_W_0 */ + /* PREFIX_VEX_0F4B_L_1_W_0 */ { - { "kunpckwd", { MaskG, MaskVex, MaskE }, 0 }, + { "kunpckwd", { MaskG, MaskVex, MaskR }, 0 }, { Bad_Opcode }, - { "kunpckbw", { MaskG, MaskVex, MaskE }, 0 }, + { "kunpckbw", { MaskG, MaskVex, MaskR }, 0 }, }, - /* PREFIX_VEX_0F4B_L_1_M_1_W_1 */ + /* PREFIX_VEX_0F4B_L_1_W_1 */ { - { "kunpckdq", { MaskG, MaskVex, MaskE }, 0 }, + { "kunpckdq", { MaskG, MaskVex, MaskR }, 0 }, }, /* PREFIX_VEX_0F6F */ @@ -3791,78 +3772,78 @@ static const struct dis386 prefix_table[][4] = { { "kmovd", { MaskG, MaskBDE }, 0 }, }, - /* PREFIX_VEX_0F91_L_0_M_0_W_0 */ + /* PREFIX_VEX_0F91_L_0_W_0 */ { - { "kmovw", { Ew, MaskG }, 0 }, + { "kmovw", { Mw, MaskG }, 0 }, { Bad_Opcode }, - { "kmovb", { Eb, MaskG }, 0 }, + { "kmovb", { Mb, MaskG }, 0 }, }, - /* PREFIX_VEX_0F91_L_0_M_0_W_1 */ + /* PREFIX_VEX_0F91_L_0_W_1 */ { - { "kmovq", { Eq, MaskG }, 0 }, + { "kmovq", { Mq, MaskG }, 0 }, { Bad_Opcode }, - { "kmovd", { Ed, MaskG }, 0 }, + { "kmovd", { Md, MaskG }, 0 }, }, - /* PREFIX_VEX_0F92_L_0_M_1_W_0 */ + /* PREFIX_VEX_0F92_L_0_W_0 */ { - { "kmovw", { MaskG, Edq }, 0 }, + { "kmovw", { MaskG, Rdq }, 0 }, { Bad_Opcode }, - { "kmovb", { MaskG, Edq }, 0 }, - { "kmovd", { MaskG, Edq }, 0 }, + { "kmovb", { MaskG, Rdq }, 0 }, + { "kmovd", { MaskG, Rdq }, 0 }, }, - /* PREFIX_VEX_0F92_L_0_M_1_W_1 */ + /* PREFIX_VEX_0F92_L_0_W_1 */ { { Bad_Opcode }, { Bad_Opcode }, { Bad_Opcode }, - { "kmovK", { MaskG, Edq }, 0 }, + { "kmovK", { MaskG, Rdq }, 0 }, }, - /* PREFIX_VEX_0F93_L_0_M_1_W_0 */ + /* PREFIX_VEX_0F93_L_0_W_0 */ { - { "kmovw", { Gdq, MaskE }, 0 }, + { "kmovw", { Gdq, MaskR }, 0 }, { Bad_Opcode }, - { "kmovb", { Gdq, MaskE }, 0 }, - { "kmovd", { Gdq, MaskE }, 0 }, + { "kmovb", { Gdq, MaskR }, 0 }, + { "kmovd", { Gdq, MaskR }, 0 }, }, - /* PREFIX_VEX_0F93_L_0_M_1_W_1 */ + /* PREFIX_VEX_0F93_L_0_W_1 */ { { Bad_Opcode }, { Bad_Opcode }, { Bad_Opcode }, - { "kmovK", { Gdq, MaskE }, 0 }, + { "kmovK", { Gdq, MaskR }, 0 }, }, - /* PREFIX_VEX_0F98_L_0_M_1_W_0 */ + /* PREFIX_VEX_0F98_L_0_W_0 */ { - { "kortestw", { MaskG, MaskE }, 0 }, + { "kortestw", { MaskG, MaskR }, 0 }, { Bad_Opcode }, - { "kortestb", { MaskG, MaskE }, 0 }, + { "kortestb", { MaskG, MaskR }, 0 }, }, - /* PREFIX_VEX_0F98_L_0_M_1_W_1 */ + /* PREFIX_VEX_0F98_L_0_W_1 */ { - { "kortestq", { MaskG, MaskE }, 0 }, + { "kortestq", { MaskG, MaskR }, 0 }, { Bad_Opcode }, - { "kortestd", { MaskG, MaskE }, 0 }, + { "kortestd", { MaskG, MaskR }, 0 }, }, - /* PREFIX_VEX_0F99_L_0_M_1_W_0 */ + /* PREFIX_VEX_0F99_L_0_W_0 */ { - { "ktestw", { MaskG, MaskE }, 0 }, + { "ktestw", { MaskG, MaskR }, 0 }, { Bad_Opcode }, - { "ktestb", { MaskG, MaskE }, 0 }, + { "ktestb", { MaskG, MaskR }, 0 }, }, - /* PREFIX_VEX_0F99_L_0_M_1_W_1 */ + /* PREFIX_VEX_0F99_L_0_W_1 */ { - { "ktestq", { MaskG, MaskE }, 0 }, + { "ktestq", { MaskG, MaskR }, 0 }, { Bad_Opcode }, - { "ktestd", { MaskG, MaskE }, 0 }, + { "ktestd", { MaskG, MaskR }, 0 }, }, /* PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0 */ @@ -6788,48 +6769,48 @@ static const struct dis386 vex_len_table[][2] = { /* VEX_LEN_0F41 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F41_L_1) }, + { VEX_W_TABLE (VEX_W_0F41_L_1) }, }, /* VEX_LEN_0F42 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F42_L_1) }, + { VEX_W_TABLE (VEX_W_0F42_L_1) }, }, /* VEX_LEN_0F44 */ { - { MOD_TABLE (MOD_VEX_0F44_L_0) }, + { VEX_W_TABLE (VEX_W_0F44_L_0) }, }, /* VEX_LEN_0F45 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F45_L_1) }, + { VEX_W_TABLE (VEX_W_0F45_L_1) }, }, /* VEX_LEN_0F46 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F46_L_1) }, + { VEX_W_TABLE (VEX_W_0F46_L_1) }, }, /* VEX_LEN_0F47 */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F47_L_1) }, + { VEX_W_TABLE (VEX_W_0F47_L_1) }, }, /* VEX_LEN_0F4A */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F4A_L_1) }, + { VEX_W_TABLE (VEX_W_0F4A_L_1) }, }, /* VEX_LEN_0F4B */ { { Bad_Opcode }, - { MOD_TABLE (MOD_VEX_0F4B_L_1) }, + { VEX_W_TABLE (VEX_W_0F4B_L_1) }, }, /* VEX_LEN_0F6E */ @@ -6860,27 +6841,27 @@ static const struct dis386 vex_len_table[][2] = { /* VEX_LEN_0F91 */ { - { MOD_TABLE (MOD_VEX_0F91_L_0) }, + { VEX_W_TABLE (VEX_W_0F91_L_0) }, }, /* VEX_LEN_0F92 */ { - { MOD_TABLE (MOD_VEX_0F92_L_0) }, + { VEX_W_TABLE (VEX_W_0F92_L_0) }, }, /* VEX_LEN_0F93 */ { - { MOD_TABLE (MOD_VEX_0F93_L_0) }, + { VEX_W_TABLE (VEX_W_0F93_L_0) }, }, /* VEX_LEN_0F98 */ { - { MOD_TABLE (MOD_VEX_0F98_L_0) }, + { VEX_W_TABLE (VEX_W_0F98_L_0) }, }, /* VEX_LEN_0F99 */ { - { MOD_TABLE (MOD_VEX_0F99_L_0) }, + { VEX_W_TABLE (VEX_W_0F99_L_0) }, }, /* VEX_LEN_0FAE_R_2 */ @@ -7060,22 +7041,22 @@ static const struct dis386 vex_len_table[][2] = { /* VEX_LEN_0F3A30 */ { - { MOD_TABLE (MOD_VEX_0F3A30_L_0) }, + { "kshiftr%BW", { MaskG, MaskR, Ib }, PREFIX_DATA }, }, /* VEX_LEN_0F3A31 */ { - { MOD_TABLE (MOD_VEX_0F3A31_L_0) }, + { "kshiftr%DQ", { MaskG, MaskR, Ib }, PREFIX_DATA }, }, /* VEX_LEN_0F3A32 */ { - { MOD_TABLE (MOD_VEX_0F3A32_L_0) }, + { "kshiftl%BW", { MaskG, MaskR, Ib }, PREFIX_DATA }, }, /* VEX_LEN_0F3A33 */ { - { MOD_TABLE (MOD_VEX_0F3A33_L_0) }, + { "kshiftl%DQ", { MaskG, MaskR, Ib }, PREFIX_DATA }, }, /* VEX_LEN_0F3A38 */ @@ -7427,43 +7408,43 @@ static const struct dis386 vex_len_table[][2] = { static const struct dis386 vex_w_table[][2] = { { /* VEX_W_0F41_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F41_L_1_W_1) }, }, { /* VEX_W_0F42_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F42_L_1_W_1) }, }, { /* VEX_W_0F44_L_0_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F44_L_0_W_1) }, }, { /* VEX_W_0F45_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F45_L_1_W_1) }, }, { /* VEX_W_0F46_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F46_L_1_W_1) }, }, { /* VEX_W_0F47_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F47_L_1_W_1) }, }, { /* VEX_W_0F4A_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F4A_L_1_W_1) }, }, { /* VEX_W_0F4B_L_1_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F4B_L_1_W_1) }, }, { /* VEX_W_0F90_L_0 */ @@ -7472,28 +7453,28 @@ static const struct dis386 vex_w_table[][2] = { }, { /* VEX_W_0F91_L_0_M_0 */ - { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_M_0_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_M_0_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F91_L_0_W_1) }, }, { /* VEX_W_0F92_L_0_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F92_L_0_W_1) }, }, { /* VEX_W_0F93_L_0_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F93_L_0_W_1) }, }, { /* VEX_W_0F98_L_0_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F98_L_0_W_1) }, }, { /* VEX_W_0F99_L_0_M_1 */ - { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_M_1_W_0) }, - { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_M_1_W_1) }, + { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_W_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F99_L_0_W_1) }, }, { /* VEX_W_0F380C */ @@ -8096,70 +8077,6 @@ static const struct dis386 mod_table[][2] = { { Bad_Opcode }, { REG_TABLE (REG_0F3A0F_PREFIX_1_MOD_3) }, }, - { - /* MOD_VEX_0F41_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F41_L_1_M_1) }, - }, - { - /* MOD_VEX_0F42_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F42_L_1_M_1) }, - }, - { - /* MOD_VEX_0F44_L_0 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F44_L_0_M_1) }, - }, - { - /* MOD_VEX_0F45_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F45_L_1_M_1) }, - }, - { - /* MOD_VEX_0F46_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F46_L_1_M_1) }, - }, - { - /* MOD_VEX_0F47_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F47_L_1_M_1) }, - }, - { - /* MOD_VEX_0F4A_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F4A_L_1_M_1) }, - }, - { - /* MOD_VEX_0F4B_L_1 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F4B_L_1_M_1) }, - }, - { - /* MOD_VEX_0F91_L_0 */ - { VEX_W_TABLE (VEX_W_0F91_L_0_M_0) }, - }, - { - /* MOD_VEX_0F92_L_0 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F92_L_0_M_1) }, - }, - { - /* MOD_VEX_0F93_L_0 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F93_L_0_M_1) }, - }, - { - /* MOD_VEX_0F98_L_0 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F98_L_0_M_1) }, - }, - { - /* MOD_VEX_0F99_L_0 */ - { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F99_L_0_M_1) }, - }, { /* MOD_VEX_0FD7 */ { Bad_Opcode }, @@ -8185,26 +8102,6 @@ static const struct dis386 mod_table[][2] = { { Bad_Opcode }, { VEX_LEN_TABLE (VEX_LEN_0F386C_X86_64_M_1) }, }, - { - /* MOD_VEX_0F3A30_L_0 */ - { Bad_Opcode }, - { "kshiftr%BW", { MaskG, MaskE, Ib }, PREFIX_DATA }, - }, - { - /* MOD_VEX_0F3A31_L_0 */ - { Bad_Opcode }, - { "kshiftr%DQ", { MaskG, MaskE, Ib }, PREFIX_DATA }, - }, - { - /* MOD_VEX_0F3A32_L_0 */ - { Bad_Opcode }, - { "kshiftl%BW", { MaskG, MaskE, Ib }, PREFIX_DATA }, - }, - { - /* MOD_VEX_0F3A33_L_0 */ - { Bad_Opcode }, - { "kshiftl%DQ", { MaskG, MaskE, Ib }, PREFIX_DATA }, - }, { /* MOD_XOP_09_12 */ { Bad_Opcode }, @@ -8786,7 +8683,7 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) ins->vex.prefix = REPNE_PREFIX_OPCODE; break; } - ins->need_vex = true; + ins->need_vex = 3; ins->codep++; vindex = *ins->codep++; dp = &xop_table[vex_table_index][vindex]; @@ -8851,7 +8748,7 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) ins->vex.prefix = REPNE_PREFIX_OPCODE; break; } - ins->need_vex = true; + ins->need_vex = 3; ins->codep++; vindex = *ins->codep++; dp = &vex_table[vex_table_index][vindex]; @@ -8886,7 +8783,7 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) ins->vex.prefix = REPNE_PREFIX_OPCODE; break; } - ins->need_vex = true; + ins->need_vex = 2; ins->codep++; vindex = *ins->codep++; dp = &vex_table[dp->op[1].bytemode][vindex]; @@ -8978,7 +8875,7 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) ins->vex.r = true; } - ins->need_vex = true; + ins->need_vex = 4; ins->codep++; vindex = *ins->codep++; dp = &evex_table[vex_table_index][vindex]; @@ -11346,7 +11243,7 @@ BadOp (instr_info *ins) /* Throw away prefixes and 1st. opcode byte. */ struct dis_private *priv = ins->info->private_data; - ins->codep = priv->the_buffer + ins->nr_prefixes + 1; + ins->codep = priv->the_buffer + ins->nr_prefixes + ins->need_vex + 1; ins->obufp = stpcpy (ins->obufp, "(bad)"); return true; } @@ -12669,6 +12566,9 @@ OP_R (instr_info *ins, int bytemode, int sizeflag) switch (bytemode) { + case dq_mode: + case mask_mode: + return OP_E (ins, bytemode, sizeflag); case q_mode: return OP_EM (ins, x_mode, sizeflag); case xmm_mode: -- 2.30.2