From 21df382b918888de64749e977f185c4e10a5b838 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 16 Jul 2019 09:30:29 +0200 Subject: x86: fold SReg{2,3} They're the only exception to there generally being no mix of register kinds possible in an insn operand template, and there being two bits per operand for their representation is also quite wasteful, considering the low number of uses. Fold both bits and deal with the little bit of fallout. Also take the liberty and drop dead code trying to set REX_B: No segment register has RegRex set on it. Additionally I was quite surprised that PUSH/POP with the permitted segment registers is not covered by the test cases. Add the missing pieces. --- include/opcode/i386.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/opcode') diff --git a/include/opcode/i386.h b/include/opcode/i386.h index b51463836d7..4f7836c2a1e 100644 --- a/include/opcode/i386.h +++ b/include/opcode/i386.h @@ -46,6 +46,7 @@ #define MOV_AX_DISP32 0xa0 #define POP_SEG_SHORT 0x07 +#define POP_SEG386_SHORT 0xfa1 #define JUMP_PC_RELATIVE 0xeb #define INT_OPCODE 0xcd #define INT3_OPCODE 0xcc -- cgit v1.2.3-65-gdbad