From 507916b8551f6227da9fe8071267c164a3014b79 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 30 Oct 2019 09:05:46 +0100 Subject: x86: drop stray W The flag is used to indicate opcodes which can be switched between byte and word/dword/qword forms (in a "canonical" way). Obviously it's quite odd then to see it on insns not allowing for byte operands in the first place. As a result the opcode bytes need to be adjusted accordingly, which includes comparisons done in optimize_encoding(). To make re-introduction of such issues less likely have i386-gen diagnose it (in a generally non-fatal way for now). --- opcodes/i386-opc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'opcodes/i386-opc.h') diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index 4246d0b..f0f0015 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -387,7 +387,9 @@ enum { /* has direction bit. */ D = 0, - /* set if operands can be words or dwords encoded the canonical way */ + /* set if operands can be both bytes and words/dwords/qwords, encoded the + canonical way; the base_opcode field should hold the encoding for byte + operands */ W, /* load form instruction. Must be placed before store form. */ Load, -- cgit v1.1