[llvm-commits] [llvm] r50007 - /llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Apr 20 16:36:47 PDT 2008
Author: geoffray
Date: Sun Apr 20 18:36:47 2008
New Revision: 50007
URL: http://llvm.org/viewvc/llvm-project?rev=50007&view=rev
Log:
Don't forget to update the current operand when getting the size of an instruction.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=50007&r1=50006&r2=50007&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Sun Apr 20 18:36:47 2008
@@ -2670,6 +2670,7 @@
case X86II::AddRegFrm:
++FinalSize;
+ ++CurOp;
if (CurOp != NumOps) {
const MachineOperand &MO1 = MI.getOperand(CurOp++);
@@ -2696,16 +2697,20 @@
++FinalSize;
FinalSize += sizeRegModRMByte();
CurOp += 2;
- if (CurOp != NumOps)
+ if (CurOp != NumOps) {
+ ++CurOp;
FinalSize += sizeConstant(X86InstrInfo::sizeOfImm(Desc));
+ }
break;
}
case X86II::MRMDestMem: {
++FinalSize;
FinalSize += getMemModRMByteSize(MI, CurOp, IsPIC, Is64BitMode);
CurOp += 5;
- if (CurOp != NumOps)
+ if (CurOp != NumOps) {
+ ++CurOp;
FinalSize += sizeConstant(X86InstrInfo::sizeOfImm(Desc));
+ }
break;
}
@@ -2713,8 +2718,10 @@
++FinalSize;
FinalSize += sizeRegModRMByte();
CurOp += 2;
- if (CurOp != NumOps)
+ if (CurOp != NumOps) {
+ ++CurOp;
FinalSize += sizeConstant(X86InstrInfo::sizeOfImm(Desc));
+ }
break;
case X86II::MRMSrcMem: {
@@ -2722,8 +2729,10 @@
++FinalSize;
FinalSize += getMemModRMByteSize(MI, CurOp+1, IsPIC, Is64BitMode);
CurOp += 5;
- if (CurOp != NumOps)
+ if (CurOp != NumOps) {
+ ++CurOp;
FinalSize += sizeConstant(X86InstrInfo::sizeOfImm(Desc));
+ }
break;
}
@@ -2732,6 +2741,7 @@
case X86II::MRM4r: case X86II::MRM5r:
case X86II::MRM6r: case X86II::MRM7r:
++FinalSize;
+ ++CurOp;
FinalSize += sizeRegModRMByte();
if (CurOp != NumOps) {
More information about the llvm-commits
mailing list