reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp
 1164   dbgprintf(insn, "readSIB()");
 1166   if (insn->consumedSIB)
 1169   insn->consumedSIB = true;
 1171   switch (insn->addressSize) {
 1173     dbgprintf(insn, "SIB-based addressing doesn't work in 16-bit mode");
 1176     insn->sibIndexBase = SIB_INDEX_EAX;
 1180     insn->sibIndexBase = SIB_INDEX_RAX;
 1185   if (consumeByte(insn, &insn->sib))
 1185   if (consumeByte(insn, &insn->sib))
 1188   index = indexFromSIB(insn->sib) | (xFromREX(insn->rexPrefix) << 3);
 1188   index = indexFromSIB(insn->sib) | (xFromREX(insn->rexPrefix) << 3);
 1191     insn->sibIndex = SIB_INDEX_NONE;
 1193     insn->sibIndex = (SIBIndex)(insn->sibIndexBase + index);
 1193     insn->sibIndex = (SIBIndex)(insn->sibIndexBase + index);
 1196   insn->sibScale = 1 << scaleFromSIB(insn->sib);
 1196   insn->sibScale = 1 << scaleFromSIB(insn->sib);
 1198   base = baseFromSIB(insn->sib) | (bFromREX(insn->rexPrefix) << 3);
 1198   base = baseFromSIB(insn->sib) | (bFromREX(insn->rexPrefix) << 3);
 1203     switch (modFromModRM(insn->modRM)) {
 1205       insn->eaDisplacement = EA_DISP_32;
 1206       insn->sibBase = SIB_BASE_NONE;
 1209       insn->eaDisplacement = EA_DISP_8;
 1210       insn->sibBase = (SIBBase)(sibBaseBase + base);
 1213       insn->eaDisplacement = EA_DISP_32;
 1214       insn->sibBase = (SIBBase)(sibBaseBase + base);
 1222     insn->sibBase = (SIBBase)(sibBaseBase + base);