Add 3rd argument register to X86.

Implement more instructions.

Change-Id: I3af7bbaf18eedc6537f1cfc2d57c4f6106fb5164
diff --git a/src/calling_convention_x86.cc b/src/calling_convention_x86.cc
index ee002c5..15f4495 100644
--- a/src/calling_convention_x86.cc
+++ b/src/calling_convention_x86.cc
@@ -91,9 +91,12 @@
   if (entry_spills_.size() == 0) {
     size_t num_spills = NumArgs() + NumLongOrDoubleArgs();
     if (num_spills > 0) {
-      entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(EDX));
+      entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(ECX));
       if (num_spills > 1) {
-        entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(ECX));
+        entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(EDX));
+        if (num_spills > 2) {
+          entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(EBX));
+        }
       }
     }
   }