git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111947
91177308-0d34-0410-b5e6-
96231b3b80d8
Operands.erase(Operands.begin() + 2);
}
+ // FIXME: Hack to handle "imul A, B" which is an alias for "imul A, B, B".
+ if (Name.startswith("imul") && Operands.size() == 3 &&
+ static_cast<X86Operand*>(Operands.back())->isReg()) {
+ X86Operand *Op = static_cast<X86Operand*>(Operands.back());
+ Operands.push_back(X86Operand::CreateReg(Op->getReg(), Op->getStartLoc(),
+ Op->getEndLoc()));
+ }
+
return false;
}
// CHECK: movaps %xmm3, (%esi)
// CHECK-STDERR: warning: scale factor without index register is ignored
movaps %xmm3, (%esi, 2)
+
+// CHECK: imull $12, %eax, %eax
+imul $12, %eax