[llvm-commits] [llvm] r103157 - /llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
Evan Cheng
evan.cheng at apple.com
Wed May 5 18:54:03 PDT 2010
Author: evancheng
Date: Wed May 5 20:54:03 2010
New Revision: 103157
URL: http://llvm.org/viewvc/llvm-project?rev=103157&view=rev
Log:
Fix an obvious bug in isMoveInstr. It needs to return sub-register indices.
Modified:
llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=103157&r1=103156&r2=103157&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Wed May 5 20:54:03 2010
@@ -540,8 +540,6 @@
ARMBaseInstrInfo::isMoveInstr(const MachineInstr &MI,
unsigned &SrcReg, unsigned &DstReg,
unsigned& SrcSubIdx, unsigned& DstSubIdx) const {
- SrcSubIdx = DstSubIdx = 0; // No sub-registers.
-
switch (MI.getOpcode()) {
default: break;
case ARM::VMOVS:
@@ -551,6 +549,8 @@
case ARM::VMOVQQ : {
SrcReg = MI.getOperand(1).getReg();
DstReg = MI.getOperand(0).getReg();
+ SrcSubIdx = MI.getOperand(1).getSubReg();
+ DstSubIdx = MI.getOperand(0).getSubReg();
return true;
}
case ARM::MOVr:
@@ -565,6 +565,8 @@
"Invalid ARM MOV instruction");
SrcReg = MI.getOperand(1).getReg();
DstReg = MI.getOperand(0).getReg();
+ SrcSubIdx = MI.getOperand(1).getSubReg();
+ DstSubIdx = MI.getOperand(0).getSubReg();
return true;
}
}
More information about the llvm-commits
mailing list