Deleted Added
sdiff udiff text old ( 263508 ) new ( 266715 )
full compact
1/*===-- X86DisassemblerDecoder.c - Disassembler decoder ------------*- C -*-===*
2 *
3 * The LLVM Compiler Infrastructure
4 *
5 * This file is distributed under the University of Illinois Open Source
6 * License. See LICENSE.TXT for details.
7 *
8 *===----------------------------------------------------------------------===*

--- 1051 unchanged lines hidden (view full) ---

1060 insn->sibScale = 8;
1061 break;
1062 }
1063
1064 base = baseFromSIB(insn->sib) | (bFromREX(insn->rexPrefix) << 3);
1065
1066 switch (base) {
1067 case 0x5:
1068 case 0xd:
1069 switch (modFromModRM(insn->modRM)) {
1070 case 0x0:
1071 insn->eaDisplacement = EA_DISP_32;
1072 insn->sibBase = SIB_BASE_NONE;
1073 break;
1074 case 0x1:
1075 insn->eaDisplacement = EA_DISP_8;
1076 insn->sibBase = (SIBBase)(sibBaseBase + base);
1077 break;
1078 case 0x2:
1079 insn->eaDisplacement = EA_DISP_32;
1080 insn->sibBase = (SIBBase)(sibBaseBase + base);
1081 break;
1082 case 0x3:
1083 debug("Cannot have Mod = 0b11 and a SIB byte");
1084 return -1;
1085 }
1086 break;
1087 default:
1088 insn->sibBase = (SIBBase)(sibBaseBase + base);

--- 660 unchanged lines hidden ---