diff options
author | Chris Lattner <sabre@nondot.org> | 2006-02-24 19:50:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-02-24 19:50:58 +0000 |
commit | daf6bc6347b4785102611bdf21c512e8a7678cce (patch) | |
tree | ef9e106c5293e20327c583121983c5479c455488 | |
parent | fd6d282a7154fd724e7fe6abaac358bb3041cb23 (diff) |
Pass all the flags to the asm printer, not just the # operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26362 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/AsmPrinter.cpp | 6 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index 9450576a9a..dceaced12f 100644 --- a/lib/CodeGen/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter.cpp @@ -575,8 +575,10 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const { unsigned OpNo = 1; // Scan to find the machine operand number for the operand. - for (; Val; --Val) - OpNo += MI->getOperand(OpNo).getImmedValue()+1; + for (; Val; --Val) { + unsigned OpFlags = MI->getOperand(OpNo).getImmedValue(); + OpNo += (OpFlags >> 3) + 1; + } ++OpNo; // Skip over the ID number. diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index b7c7ec37f7..9bc168f7a6 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -328,7 +328,7 @@ void ScheduleDAG::EmitNode(NodeInfo *NI) { unsigned Flags = cast<ConstantSDNode>(Node->getOperand(i))->getValue(); unsigned NumVals = Flags >> 3; - MI->addZeroExtImm64Operand(NumVals); + MI->addZeroExtImm64Operand(Flags); ++i; // Skip the ID value. switch (Flags & 7) { |