git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163263
91177308-0d34-0410-b5e6-
96231b3b80d8
// Interpretation of the MIOp_ExtraInfo bit field.
Extra_HasSideEffects = 1,
Extra_IsAlignStack = 2,
- Extra_AsmDialect = 3,
+ Extra_AsmDialect = 4,
// Inline asm operands map to multiple SDNode / MachineInstr operands.
// The first operand is an immediate describing the asm operand, the low
InlineAsm::AsmDialect MachineInstr::getInlineAsmDialect() const {
assert(isInlineAsm() && "getInlineAsmDialect() only works for inline asms!");
unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm();
- return InlineAsm::AsmDialect((ExtraInfo >> 2) & 1);
+ return InlineAsm::AsmDialect((ExtraInfo & InlineAsm::Extra_AsmDialect) != 0);
}
int MachineInstr::findInlineAsmFlagIdx(unsigned OpIdx,
if (IA->isAlignStack())
ExtraInfo |= InlineAsm::Extra_IsAlignStack;
// Set the asm dialect.
- ExtraInfo |= IA->getDialect() << 2;
+ ExtraInfo |= IA->getDialect() * InlineAsm::Extra_AsmDialect;
AsmNodeOperands.push_back(DAG.getTargetConstant(ExtraInfo,
TLI.getPointerTy()));