diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp
index 10fdf0f..04827f0 100644
--- a/lib/Target/X86/InstSelectSimple.cpp
+++ b/lib/Target/X86/InstSelectSimple.cpp
@@ -389,10 +389,9 @@
 {
   // Push the arguments on the stack in reverse order, as specified by
   // the ABI.
-  for (unsigned i = CI.getNumOperands (); i >= 1; --i)
+  for (unsigned i = CI.getNumOperands()-1; i >= 1; --i)
     {
       Value *v = CI.getOperand (i);
-      unsigned argReg = getReg (v);
       switch (getClass (v->getType ()))
 	{
 	case cByte:
@@ -404,7 +403,7 @@
 	  break;
 	case cInt:
 	case cFloat:
-	  BuildMI (BB, X86::PUSHr32, 1).addReg (argReg);
+	  BuildMI (BB, X86::PUSHr32, 1).addReg(getReg(v));
 	  break;
 	default:
 	  // FIXME: long/ulong/double args not handled.
diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp
index 10fdf0f..04827f0 100644
--- a/lib/Target/X86/X86ISelSimple.cpp
+++ b/lib/Target/X86/X86ISelSimple.cpp
@@ -389,10 +389,9 @@
 {
   // Push the arguments on the stack in reverse order, as specified by
   // the ABI.
-  for (unsigned i = CI.getNumOperands (); i >= 1; --i)
+  for (unsigned i = CI.getNumOperands()-1; i >= 1; --i)
     {
       Value *v = CI.getOperand (i);
-      unsigned argReg = getReg (v);
       switch (getClass (v->getType ()))
 	{
 	case cByte:
@@ -404,7 +403,7 @@
 	  break;
 	case cInt:
 	case cFloat:
-	  BuildMI (BB, X86::PUSHr32, 1).addReg (argReg);
+	  BuildMI (BB, X86::PUSHr32, 1).addReg(getReg(v));
 	  break;
 	default:
 	  // FIXME: long/ulong/double args not handled.
