From cba86d060b51f2c7bcb56714ed682816cdbe1618 Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Wed, 14 Nov 2001 18:49:45 +0000 Subject: Don't assume constant operand can only be in position 1! llvm-svn: 1308 --- llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp') diff --git a/llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp b/llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp index c7d4260087b..853fe0f3108 100644 --- a/llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp +++ b/llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp @@ -333,9 +333,9 @@ FixConstantOperandsForInstr(Instruction* vmInstr, int64_t immedValue; MachineOperand::MachineOperandType opType = ChooseRegOrImmed(opValue, minstr->getOpCode(), target, - /*canUseImmed*/ (op == 1), + (target.getInstrInfo().getImmmedConstantPos(minstr->getOpCode()) == (int) op), machineRegNum, immedValue); - + if (opType == MachineOperand::MO_MachineRegister) minstr->SetMachineOperand(op, machineRegNum); else if (opType == MachineOperand::MO_VirtualRegister) -- cgit v1.2.3